A modern subscription management dashboard to track your recurring expenses, analyze costs, and never miss a payment.
- Dashboard: Visual overview of Monthly/Yearly costs, Active Subscriptions, and Approaching Deadlines.
- Currency Normalization: Automatically converts various currencies (USD, EUR, GBP) to INR for unified statistics.
- Smart Logos: Automatically fetches logos for your subscriptions.
- Upcoming Payments: Highlights payments due in the next 5 days.
- Docker Ready: Easy deployment with Docker and Docker Compose.
- Node.js (v18+)
- npm
-
Setup Data Ensure your
subscriptions.jsonis in thedata/directory. -
Start Server
cd server npm install npm run devServer runs on
http://localhost:5000. -
Start Client
cd client npm install npm run devClient runs on
http://localhost:5173.
To build and run the application as a single container (serving both frontend and backend):
docker-compose up --buildThe application will be available at http://localhost:5000.
To push this image to Docker Hub (e.g., for your server):
# Build the image
docker build -t your-username/subscriptions:latest .
# Push to Docker Hub
docker push your-username/subscriptions:latest- Data Source: The app reads from
data/subscriptions.json. This file is persisted via a Docker volume. - Currency: Default base currency is INR. Rates are currently fixed in
server/currency.js.
- Frontend: React, TypeScript, Bootstrap 5, Lucide Icons.
- Backend: Node.js, Express.
- Container: Docker.