This is my submission for the Phoenix IMF Gadget API Challenge. It is a fully functional and production-ready backend API built with modern technologies and best practices.
- Node.js + Express
- TypeScript
- PostgreSQL + Prisma ORM
- Redis for caching
- JWT Authentication with HTTP-only cookies
- Rate Limiting using a middleware library
- Postman for API documentation
-
โ Robust Authentication
Secure login and session management using JWTs stored in HTTP-only cookies. -
โก Redis Caching
Frequently accessed data is cached to reduce DB hits and boost performance. -
๐ก๏ธ Rate Limiting
Protects endpoints from abuse using a rate-limiting middleware (not Redis-based). -
๐ Postman API Documentation
All endpoints are documented with requests, responses, and error examples.
๐ Live API Link
๐งพ Click here to view the full Postman documentation
Create a .env
file in the root directory of the project.
You can refer to the .env.sample
file for all the required environment variables and their expected format.
Follow the steps below to set up and run this project locally.
# Clone the repository from GitHub
git clone https://github.com/Tiru-99/Upraised
# Navigate into the server directory
cd server
# Install all project dependencies
npm install
# Start the development server
npm run dev