Skip to content

πŸ“¦ SubDub: Subscription Tracker API – A lightweight and scalable API to manage and track your subscriptions with ease. Built for developers who want simple integration, smart expense tracking, and automated reminders.

Notifications You must be signed in to change notification settings

Itssanthoshhere/Subscription-Tracker-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

16 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation


Project Banner
node.js express.js mongodb arcjet upstash

πŸ“¦ SubDub: Subscription Tracker API

A production-ready Subscription Management System API with rate limiting, JWT authentication, email reminders, and workflow automation.

Docs

  1. πŸ€– Introduction
  2. βš™οΈ Tech Stack
  3. πŸ”‹ Features
  4. 🀸 Quick Start
  5. πŸ•ΈοΈ Snippets
  6. πŸ”— Assets
  7. πŸ“ž Contacts

SubDub is a Subscription Management System API designed to help users track, manage, and get notified about upcoming subscription renewals.

It comes with:

  • JWT authentication for secure user sessions
  • MongoDB & Mongoose models for subscriptions and users
  • Arcjet middleware for bot detection and rate limiting
  • Upstash Workflows to schedule email reminders before renewals
  • Nodemailer templates for beautiful, responsive reminder emails


β†’ Advanced Rate Limiting and Bot Protection: with Arcjet that helps you secure the whole app.

β†’ Database Modeling: Models and relationships using MongoDB & Mongoose.

β†’ JWT Authentication: User CRUD operations and subscription management.

β†’ Global Error Handling: Input validation and middleware integration.

β†’ Logging Mechanisms: For better debugging and monitoring.

β†’ Email Reminders: Automating smart email reminders with workflows using Upstash.

and many more, including code architecture and reusability


Prerequisites

Clone the Repository

git clone https://github.com/Itssanthoshhere/Subscription-Tracker-Api.git
cd Subscription-Tracker-Api

Install Dependencies

npm install

Setup Environment Variables

Create .env.development.local:

# PORT
PORT=5500
SERVER_URL="http://localhost:5500"

# ENVIRONMENT
NODE_ENV=development

# DATABASE
DB_URI=

# JWT AUTH
JWT_SECRET=
JWT_EXPIRES_IN="1d"

# ARCJET
ARCJET_KEY=
ARCJET_ENV="development"

# UPSTASH
QSTASH_URL=http://127.0.0.1:8080
QSTASH_TOKEN=

# NODEMAILER
EMAIL_PASSWORD=

Run the Project

npm run dev

API will be running at: πŸ‘‰ http://localhost:5500


Sample Subscription JSON
{
  "name": "Netflix Premium",
  "price": 15.99,
  "currency": "USD",
  "frequency": "monthly",
  "category": "Entertainment",
  "startDate": "2025-01-20T00:00:00.000Z",
  "paymentMethod": "Credit Card"
}


πŸ‘€ Santhosh VS


⭐️ Show Your Support

If you liked this project, give it a ⭐ and share it with others!


About

πŸ“¦ SubDub: Subscription Tracker API – A lightweight and scalable API to manage and track your subscriptions with ease. Built for developers who want simple integration, smart expense tracking, and automated reminders.

Topics

Resources

Stars

Watchers

Forks