Skip to content

API rate limiter that tracks and enforces limits on requests made by individual clients within specific time windows and on a monthly basis. Additionally, you need to enforce system-wide limits to prevent excessive requests across the entire system.

Notifications You must be signed in to change notification settings

Nkbtemmy/-API-rate-limiter-

Repository files navigation

API-rate-limiter

API rate limiter that tracks and enforces limits on requests made by individual clients within specific time windows and on a monthly basis. Additionally, you need to enforce system-wide limits to prevent excessive requests across the entire system.

Badges

Add badges from somewhere like: shields.io Build

Technologies used

  • Docker
  • Docker compose
  • Nodejs
  • MongoDB

Run Deployment

start server

  RUN docker-compose up --build

Test it locally

  Navigate to localhost:8007/api-docs

Tech Stack

Server: Node, Express

Deployment: Docker, Docker-compose

Dependencies: Nodemailer, Telesignal, Vonage, express-rate-limit, apicache, morgan

Run Locally

make project directory

  mkdir API-rate-limit

Go to the project directory

  cd API-rate-limit

Clone the project

  git clone https://github.com/Nkbtemmy/-API-rate-limiter-.git .

Install dependencies

  yarn install

Provide environment variables

  • For Windows
  copy  .env.example .env
  • For Lunix
  cp .env.example .env

Start the server

  yarn dev

Test the Endpoint

  navigate to {host}:{PORT}/api-docs and start by creating subscription and copy its ID

Environment Variables

To run this project, you will need to add the following environment variables to your .env file

PORT

HOST

TELESIGNAL_CUSTOMER_ID

TELESIGNAL_API_KEY

TELESIGNAL_END_POINT

VONAGE_API_KEY

VONAGE_API_SECRET

VONAGE_BRAND_NAME

JWT_SECRET

DB_CONNECT

SERVICE_USERNAME

SERVICE_PASSWORD

TRANSPORTER_SERVICE

Deployment

To deploy this project run

  docker-compose up --build

Documentation

Documentation

Features

  • Send SMS Notification
  • Send Email Notification

🚀 About Me

I'm a full stack developer who is currently working in the software engineering industry, where my daily responsibilities include collaborating with a team of engineers to design, build, and implement high-quality software products.

🔗 Links

portfolio linkedin

Screenshots

Three clusters Running

Docker-compose ps

Swwagger Documentation

About

API rate limiter that tracks and enforces limits on requests made by individual clients within specific time windows and on a monthly basis. Additionally, you need to enforce system-wide limits to prevent excessive requests across the entire system.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published