Back to Portfolio

Subscription Tracker API

A RESTful API to manage users and subscriptions with user authentication, subscription tracking, and renewal reminders. Built with Node.js and Docker.

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.

Tech Stack

Node.js
pnpm
Docker
JavaScript (ES6+)

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

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

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.

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

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.

Interested in This Work?

I enjoy creating scalable backend systems. If you have a similar project in mind, let's connect and discuss how I can help.