Skip to content

forch0/Subscription-Management-System-API

Repository files navigation

📦 Subscription Management System

A production-ready Subscription Management System built with Node.js, Express, MongoDB, Arcjet, and Upstash. Supports real users, real payments, and real business logic with security, performance, and scalability in mind.


🚀 Features

  • JWT Authentication (Login, Register, Protected Routes)
  • 📦 Subscription Plans (Free, Monthly, Annual)
  • 🔄 Automated Workflows with Upstash for renewals, reminders, etc.
  • 🔐 Security-first using Arcjet (rate limiting, protection)
  • 💾 MongoDB Atlas database integration
  • 🧩 Modular architecture with MVC pattern
  • 🌐 RESTful API with clear route separation
  • ⚙️ HTTPie-friendly endpoints for easy testing

📁 Project Structure

subscription-management-system/ ├── app.js ├── config/ # Config for MongoDB, Arcjet, Upstash ├── models/ # User, Plan, Subscription models ├── controllers/ # Business logic for each route ├── routes/ # API endpoint definitions ├── middleware/ # JWT, error handlers, rate limiting ├── workflows/ # Background jobs via Upstash ├── utils/ # Helpers like JWT handling ├── database/ # Seeders, initial setup └── .env # Environment variables

🛡️ Security

  • Arcjet for bot and hack prevention
  • JWT-secured endpoints to protect user data
  • Secure password hashing with bcrypt

⛓️ Tech Stack

  • Backend: Node.js, Express
  • Database: MongoDB Atlas
  • Security: Arcjet, bcrypt, JWT
  • Automation: Upstash
  • Testing: HTTPie

🧠 Future Improvements

  • 💳 Payment gateway integration (e.g., Stripe)
  • 🧑‍💼 Admin dashboard
  • 📊 Subscription analytics
  • 📧 Email notifications system

Built with ❤️ by SeniorDevForch

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors