A secure, production-ready backend for managing user subscriptions, payments, and automated workflows.
This project is a backend service for a real-world SaaS subscription system, designed with scalability, security, and extensibility in mind.
- ✅ JWT Authentication for user sessions
- ✅ MongoDB schema design for users, subscriptions, and payments
- ✅ RESTful API architecture
- ✅ Role-based Access Control (RBAC)
- ✅ Email Reminders via QStash + Nodemailer
- ✅ Rate-limiting & Security via Arcjet
- ✅ .env environment support for development & production
| Technology | Purpose |
|---|---|
| Node.js + Express | Backend framework |
| MongoDB | Database for user & subscription data |
| JWT | Authentication tokens |
| Bcrypt | Secure password hashing |
| Arcjet | Protection & rate limiting |
| QStash (Upstash) | Scheduled email jobs |
| Nodemailer | Email sending |
git clone [email protected]:AliyanA1/subscription-tracker.git
cd subscription-tracker
npm installCreate two environment files:
.env.development.local
.env.production.local
Start by copying from the example:
cp .env.examplenpx @upstash/qstash-cli dev
npm run dev“If you find a bug in this project, congratulations — you're now a developer.”
Feel free to:
- 🛠️ Fix it
- 🔁 Open a pull request
- 💬 Or create an issue — so we can squash it together
Your contributions are welcome and appreciated!
📄 License This project is currently private and intended for learning & personal use. Licensing terms may change when the project is completed.
