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.
Add badges from somewhere like: shields.io
- Docker
- Docker compose
- Nodejs
- MongoDB
start server
RUN docker-compose up --build
Test it locally
Navigate to localhost:8007/api-docs
Server: Node, Express
Deployment: Docker, Docker-compose
Dependencies: Nodemailer, Telesignal, Vonage, express-rate-limit, apicache, morgan
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
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
To deploy this project run
docker-compose up --build
- Send SMS Notification
- Send Email Notification
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.