Skip to content

Venu22003/subscription-management

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

20 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ Subscription Manager

Track All Your Subscriptions in One Beautiful Dashboard

A modern, full-stack subscription management application built with the MERN stack

Features β€’ Screenshots β€’ Tech Stack β€’ Quick Start β€’ Documentation


πŸ“Έ Screenshots

Dashboard Overview

Real-time analytics and spending insights

Dashboard

Subscription Management

Manage all your subscriptions in one place

Subscriptions List

Dark Mode Support

Beautiful dark theme for comfortable viewing

Settings Dark Mode


✨ Features

🎯 Subscription Management

  • βœ… Create, edit, delete subscriptions
  • βœ… 15+ pre-defined categories with icons
  • βœ… Track billing cycles (monthly/yearly/weekly)
  • βœ… Payment status management
  • βœ… Auto-renewal tracking
  • βœ… Payment history logging

πŸ“Š Analytics & Insights

  • βœ… Total spending overview
  • βœ… Active subscriptions count
  • βœ… Upcoming payments tracker
  • βœ… Category breakdown charts
  • βœ… Monthly/yearly projections
  • βœ… Recent activity timeline

πŸ” Security & Auth

  • βœ… JWT dual-token authentication
  • βœ… Bcrypt password hashing
  • βœ… Rate limiting protection
  • βœ… XSS & injection prevention
  • βœ… Secure session management
  • βœ… Password reset flow

🎨 User Experience

  • βœ… Dark mode with persistence
  • βœ… Responsive design (mobile-first)
  • βœ… Payment calendar visualization
  • βœ… Real-time form validation
  • βœ… Toast notifications
  • βœ… Smooth animations

πŸ› οΈ Tech Stack

Frontend

React Material-UI Framer

Backend

Node.js Express MongoDB

DevOps

Vercel GitHub

Complete Technology Overview

Frontend               Backend                Database
β”œβ”€ React 18           β”œβ”€ Node.js 18+         β”œβ”€ MongoDB Atlas
β”œβ”€ Material-UI 5      β”œβ”€ Express 4           β”œβ”€ Mongoose ODM
β”œβ”€ React Query        β”œβ”€ JWT Auth            └─ Connection Pool
β”œβ”€ React Hook Form    β”œβ”€ Bcrypt              
β”œβ”€ Framer Motion      β”œβ”€ Winston             DevOps
β”œβ”€ Recharts           β”œβ”€ Nodemailer          β”œβ”€ Vercel Serverless
└─ Axios              └─ Helmet              β”œβ”€ GitHub CI/CD
                                              └─ Environment Vars

πŸš€ Quick Start

Prerequisites

  • Node.js >= 18.0.0
  • npm >= 9.0.0
  • MongoDB (local or Atlas)

Installation

1️⃣ Clone the repository

git clone https://github.com/Venu22003/subscription-management.git
cd subscription-management

2️⃣ Backend setup

cd backend
npm install
cp .env.example .env
# Edit .env with your MongoDB URI and secrets
npm run dev

3️⃣ Frontend setup

cd frontend
npm install
cp .env.example .env
# Edit .env with your API URL
npm start

4️⃣ Access the application

Environment Variables

Click to expand backend variables
# Database
MONGODB_URI=mongodb://localhost:27017/SubscriptionManager

# JWT
JWT_SECRET=your_jwt_secret_key_here
JWT_REFRESH_SECRET=your_refresh_secret_key_here
JWT_EXPIRE=15m
JWT_REFRESH_EXPIRE=7d

# URLs
FRONTEND_URL=http://localhost:3000

# Email (Optional)
SMTP_HOST=smtp.gmail.com
SMTP_PORT=587
SMTP_USER=your_email@gmail.com
SMTP_PASSWORD=your_app_password
Click to expand frontend variables
REACT_APP_API_URL=http://localhost:5000/api/v1
REACT_APP_ENV=development

πŸ“š Documentation

πŸ“– Quick Start

Get up and running in 5 minutes

πŸš€ Deployment

Deploy to production step-by-step

πŸ”Œ API Docs

Complete API endpoint reference

🀝 Contributing

How to contribute to the project

πŸ“‹ Changelog

Version history and updates

πŸ“„ License

MIT License details


πŸ—οΈ Project Structure

subscription-management/
β”œβ”€β”€ πŸ“ backend/
β”‚   β”œβ”€β”€ πŸ“ config/          # Database & logger configs
β”‚   β”œβ”€β”€ πŸ“ controllers/     # Business logic
β”‚   β”œβ”€β”€ πŸ“ middleware/      # Auth, validation, security
β”‚   β”œβ”€β”€ πŸ“ models/          # Mongoose schemas
β”‚   β”œβ”€β”€ πŸ“ routes/          # API endpoints
β”‚   β”œβ”€β”€ πŸ“ services/        # Email service
β”‚   β”œβ”€β”€ πŸ“„ index.js         # Entry point
β”‚   └── πŸ“„ vercel.json      # Deployment config
β”‚
β”œβ”€β”€ πŸ“ frontend/
β”‚   β”œβ”€β”€ πŸ“ src/
β”‚   β”‚   β”œβ”€β”€ πŸ“ components/  # React components
β”‚   β”‚   β”œβ”€β”€ πŸ“ context/     # Global state
β”‚   β”‚   β”œβ”€β”€ πŸ“ services/    # API services
β”‚   β”‚   β”œβ”€β”€ πŸ“ theme/       # MUI theming
β”‚   β”‚   └── πŸ“„ App.js       # Main component
β”‚   └── πŸ“„ vercel.json      # Deployment config
β”‚
└── πŸ“ docs/                # Documentation

🎨 Screenshots

Click to view all screenshots

Dashboard - Light Mode

Dashboard Light

Subscriptions List

Subscriptions

Settings & Dark Mode

Settings Dark Mode

Calendar View

Coming soon - Payment calendar visualization

Mobile Responsive

Optimized for all screen sizes


πŸ”Œ API Endpoints

Authentication

Method Endpoint Description
POST /api/v1/auth/signup Register new user
POST /api/v1/auth/login Authenticate user
POST /api/v1/auth/refresh-token Refresh access token
POST /api/v1/auth/logout Logout user
POST /api/v1/auth/forgot-password Request password reset

Subscriptions

Method Endpoint Description
GET /api/v1/subscriptions Get all subscriptions
POST /api/v1/subscriptions Create subscription
GET /api/v1/subscriptions/:id Get single subscription
PUT /api/v1/subscriptions/:id Update subscription
DELETE /api/v1/subscriptions/:id Delete subscription

Dashboard

Method Endpoint Description
GET /api/v1/dashboard/stats Get statistics
GET /api/v1/dashboard/spending Get spending data
GET /api/v1/dashboard/upcoming Get upcoming payments

πŸ“– View Complete API Documentation β†’


🀝 Contributing

We welcome contributions! Here's how you can help:

  1. 🍴 Fork the repository
  2. 🌿 Create your feature branch (git checkout -b feature/AmazingFeature)
  3. πŸ’» Commit your changes (git commit -m 'Add some AmazingFeature')
  4. πŸ“€ Push to the branch (git push origin feature/AmazingFeature)
  5. πŸ”€ Open a Pull Request

πŸ“– Read our Contributing Guidelines for more details.


πŸ› Bug Reports & Feature Requests

Found a bug or have a feature idea?


πŸ“Š Project Status

GitHub last commit GitHub commit activity GitHub issues GitHub pull requests

Status: βœ… Production Ready - Actively Maintained


🎯 Roadmap

Version 2.1.0 (Coming Soon)

  • Email verification on signup
  • Two-factor authentication (2FA)
  • Data export (CSV/PDF)
  • Bulk operations
  • Mobile notifications

Version 2.2.0

  • Social authentication (Google, GitHub)
  • Family sharing features
  • Advanced analytics
  • Custom categories with icons
  • Multi-language support

Version 3.0.0

  • AI-powered recommendations
  • Price tracking
  • Banking API integration
  • Chrome extension
  • Mobile app (React Native)

πŸ“ License

This project is licensed under the MIT License - see the LICENSE file for details.


πŸ‘¨β€πŸ’» Author

Venu Prasad

GitHub LinkedIn X Email


🌟 Show Your Support

If you found this project helpful, please consider:

  • ⭐ Starring the repository
  • 🍴 Forking the project
  • πŸ“’ Sharing with your network
  • πŸ› Reporting bugs
  • πŸ’‘ Suggesting new features

Built with ❀️ using MERN Stack

⬆ Back to Top

About

Modern subscription management app built with MERN stack. Track subscriptions, analyze spending, get payment reminders. Features: Dark mode, JWT auth, Material-UI, MongoDB Atlas.

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors