Tech Stack
Technologies Used
- Node.js and Express for the REST API and routing.
- PostgreSQL for storing apps, deployments, and usage events.
- Static HTML/CSS/JavaScript frontend for the dashboard UI.
- Ubuntu VPS with Nginx reverse proxy, HTTPS, and PM2 process management.
Description
Running several small experiments on a single VPS made it hard to remember what was deployed where and whether anything was still receiving traffic. Instead of manually checking logs and systemctl output, I built a small dashboard to track deployments and basic request counts from my personal services. It focuses on simple tables and trends that help me spot dead services or bad deploys quickly.
Project Info
Overview
This project gives me one place to see which personal services are deployed, when I last touched them, and a rough idea of whether traffic is still flowing through them.
What I Implemented
- Designed a small PostgreSQL schema for applications, deployments, and usage events, including useful indexes for the common views.
- Built Express routes for recording deployments and page/API hits, plus read-only endpoints for the dashboard views.
- Created a static HTML/CSS/JS dashboard that queries the API and presents deployments and usage trends in simple tables and charts.
- Provisioned an Ubuntu VPS, configured Nginx as a reverse proxy with SSL, and used PM2 to keep the Node.js process running.
- Set up a basic `.env`-based configuration system and environment-specific settings for dev vs production.