Back to Projects

Subscription Tracker API - RESTful Management System

A scalable RESTful API for managing user subscriptions, featuring JWT authentication, full CRUD operations, and automated renewal notifications in a containerized environment.

Tech Stack:JavaScript (ES6+)ExpressJSMongoDBDockerJWTArcjet

TL;DR

I built a scalable RESTful API using Node.js for managing user subscriptions. It features JWT authentication, full CRUD operations, and automated renewal notifications. The entire system is containerized with Docker for easy deployment and CI/CD integration.

Key Features

  • User authentication (Sign up, Sign in, Sign out)
  • Manage users and subscriptions (CRUD)
  • Track upcoming subscription renewals
  • Docker support for easy deployment
  • Modern JavaScript (Node.js, ES6+)
  • pnpm support for faster package management

Tech Stack & Architecture

Modular design with a focus on scalability and maintainability. Docker Compose simplifies local development setup.

API Endpoints

Authentication (/api/v1/auth)

POST /sign-up
POST /sign-in
POST /sign-out

Users (/api/v1/users)

GET /
GET /:id
POST /
PUT /:id
DELETE /:id

Subscriptions (/api/v1/subscriptions)

GET /
GET /:id
POST /
PUT /:id
DELETE /:id
GET /user/:id
PUT /:id/cancel
GET /upcoming-renewals

For full details, check out the API documentation on GitHub.

Role & Credits

My Role I was the sole developer for this project, responsible for the entire backend architecture, API design, and Docker implementation.

Credits This was a personal project built from scratch to practice backend development and API design.

Quickstart

# Clone and setup
git clone https://github.com/sujeetgund/subscription-tracker.git
cd subscription-tracker
cp .env.example .env.development.local

# Run with Docker
docker-compose up

# Or run locally
pnpm install
pnpm run dev