Skip to content

Phoenix : IMF Gadget API , made using Express Js , Typescript , Postgresql , Prisma and Redis

Notifications You must be signed in to change notification settings

Tiru-99/Upraised

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

12 Commits
ย 
ย 
ย 
ย 

Repository files navigation

Upraised

Phoenix IMF Gadget API ๐Ÿš€

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.

๐Ÿ”ง Tech Stack

  • 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

๐Ÿ” Key Features

  • โœ… 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

๐Ÿ‘‰ Live API Link

๐Ÿ“ฎ Postman Documentation

๐Ÿงพ Click here to view the full Postman documentation

๐Ÿ”ง Environment Variables

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.

โš™๏ธ Getting Started

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

About

Phoenix : IMF Gadget API , made using Express Js , Typescript , Postgresql , Prisma and Redis

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published