A modern, full-stack subscription management application built with the MERN stack
Features β’ Screenshots β’ Tech Stack β’ Quick Start β’ Documentation
Real-time analytics and spending insights
Manage all your subscriptions in one place
Beautiful dark theme for comfortable viewing
|
|
|
|
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
- Node.js >= 18.0.0
- npm >= 9.0.0
- MongoDB (local or Atlas)
1οΈβ£ Clone the repository
git clone https://github.com/Venu22003/subscription-management.git
cd subscription-management2οΈβ£ Backend setup
cd backend
npm install
cp .env.example .env
# Edit .env with your MongoDB URI and secrets
npm run dev3οΈβ£ Frontend setup
cd frontend
npm install
cp .env.example .env
# Edit .env with your API URL
npm start4οΈβ£ Access the application
- Frontend: http://localhost:3000
- Backend: http://localhost:5000
- API Docs: http://localhost:5000/api/v1
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_passwordClick to expand frontend variables
REACT_APP_API_URL=http://localhost:5000/api/v1
REACT_APP_ENV=development
π Quick StartGet up and running in 5 minutes |
π DeploymentDeploy to production step-by-step |
π API DocsComplete API endpoint reference |
π€ ContributingHow to contribute to the project |
π ChangelogVersion history and updates |
π LicenseMIT License details |
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
Click to view all screenshots
| 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 |
| 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 |
| 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 β
We welcome contributions! Here's how you can help:
- π΄ Fork the repository
- πΏ Create your feature branch (
git checkout -b feature/AmazingFeature) - π» Commit your changes (
git commit -m 'Add some AmazingFeature') - π€ Push to the branch (
git push origin feature/AmazingFeature) - π Open a Pull Request
π Read our Contributing Guidelines for more details.
Found a bug or have a feature idea?
- π Report a Bug
- π‘ Request a Feature
- π¬ Ask a Question
Status: β Production Ready - Actively Maintained
- Email verification on signup
- Two-factor authentication (2FA)
- Data export (CSV/PDF)
- Bulk operations
- Mobile notifications
- Social authentication (Google, GitHub)
- Family sharing features
- Advanced analytics
- Custom categories with icons
- Multi-language support
- AI-powered recommendations
- Price tracking
- Banking API integration
- Chrome extension
- Mobile app (React Native)
This project is licensed under the MIT License - see the LICENSE file for details.
If you found this project helpful, please consider:
- β Starring the repository
- π΄ Forking the project
- π’ Sharing with your network
- π Reporting bugs
- π‘ Suggesting new features


