https://github.com/josephat-s/subscription-tracker-using-express.js
A full-featured subscription management API built with Node.js, Express, and MongoDB. Track users’ subscriptions, send automated renewal reminders, and manage user accounts securely with JWT authentication.
https://github.com/josephat-s/subscription-tracker-using-express.js
api arcjet authentication-backend express jwt mongodb server upstash
Last synced: 2 months ago
JSON representation
A full-featured subscription management API built with Node.js, Express, and MongoDB. Track users’ subscriptions, send automated renewal reminders, and manage user accounts securely with JWT authentication.
- Host: GitHub
- URL: https://github.com/josephat-s/subscription-tracker-using-express.js
- Owner: Josephat-S
- Created: 2025-08-27T13:59:57.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2025-08-27T14:36:49.000Z (10 months ago)
- Last Synced: 2025-09-04T07:11:36.369Z (10 months ago)
- Topics: api, arcjet, authentication-backend, express, jwt, mongodb, server, upstash
- Language: JavaScript
- Homepage:
- Size: 43.9 KB
- Stars: 1
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Subscription Tracker API
A full-featured subscription management API built with Node.js, Express, and MongoDB. Track users' subscriptions, send automated renewal reminders, and manage user accounts securely with JWT authentication.
## Features
- **User Authentication**: Secure login and registration using JWT tokens.
- **Subscription Management**: Create, read, update, and delete subscriptions.
- **Automated Reminders**: Send renewal reminders before subscription expiry.
- **Bot Protection**: Integrated Arcjet middleware for enhanced security.
- **Error Handling**: Centralized error handling middleware for consistent responses.
## Tech Stack
- **Backend**: Node.js, Express.js
- **Database**: MongoDB, Mongoose
- **Authentication**: JWT (JSON Web Tokens)
- **Security**: Arcjet, Cookie Parser
- **Utilities**: Day.js for date manipulation
## Installation
### Prerequisites
- Node.js (v14 or higher)
- MongoDB (local or cloud instance)
### Steps
1. Clone the repository:
```bash
git clone https://github.com/Josephat-S/subscription-tracker-using-express.js.git
cd subscription-tracker-using-express.js
2. Install dependencies:
```bash
npm install
3. Envirnment:
Create a file called **.env.example.local**, and create variables as listed in *.env.development.example**