Skip to content

dannycake/portfolio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Portfolio

A personal portfolio website for danny.ink, built with Node.js and Express. Showcases projects, social links, and a live Plex music player widget powered by Tautulli.

Tech Stack

  • Runtime: Node.js 18
  • Framework: Express
  • HTTP Client: SuperAgent
  • Integration: Tautulli API (Plex media activity)
  • Containerization: Docker

Features

  • Static portfolio page with project showcases and social links
  • Live "currently listening" music player that displays the active Plex track, album art, and playback progress
  • Activity data fetched from a Tautulli instance and injected into the page at serve time
  • REST endpoint (/api/activity) for polling current listening activity
  • Automatic activity polling every 5 seconds

Prerequisites

  • Node.js 18+
  • A running Tautulli instance connected to Plex

Setup

  1. Clone the repository:

    git clone <repo-url>
    cd portfolio
    
  2. Install dependencies:

    npm install
    
  3. Create a .env file with the following variables:

    TAUTULLI_HOST=https://your-tautulli-instance
    TAUTULLI_KEY=your-tautulli-api-key
    PLEX_USERNAME=your-plex-username
    
  4. Start the server:

    npm start
    

The site will be available at http://localhost:8080.

Docker

docker build -t portfolio .
docker run -p 8080:8080 --env-file .env portfolio

Project Structure

index.js          # Express server, Tautulli polling, route handlers
public/
  index.html      # Main HTML template (activity data injected via {%%} token)
assets/
  main.css        # Stylesheet
  main.js         # Client-side JavaScript
  icons/          # Social and platform icons
  projects/       # Project thumbnail images

About

new portfolio site

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors