8000 GitHub - manuj55/PantryPal: software-architecture-and-development-thebughunters
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

manuj55/PantryPal

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PantryPal - Node.js Microservices

This repository has Node.js microservices for PantryPal. It includes Auth Service for user authorization and User Service for managing user data. The services use the MVC pattern and follow REST API design.


About Me

Hi, I'm Manu Janardhana. I am a Full Stack Developer who likes to build reliable and secure web services using Node.js and Express. I focus on writing clean code and using good security practices like JWT for authorization.


Node Folder Path

You can find the Node.js services in the node folder of this repository.
To see the commits for the Node.js services, check the node folder here.


Service Development (Node.js, REST APIs)

  • Created Auth Service (for authorization) and User Service (for user data) using the MVC pattern.
  • Used Swagger for API documentation.

Auth Service

  • Used JWT tokens with asymmetric encryption for secure authorization. link
  • Added user roles in tokens to control access.
  • Auth Service calls the User Service to check user data.
  • folder link

User Service

  • Added CRUD endpoints (GET, POST, PUT, DELETE) to manage user data. link
  • Email verification is required during signup. link
  • Users can only change their own data, but admins can delete any account.
  • Uses REST calls to get and update data.
  • folder link

Extra Features

  • Logger with Correlation ID: Added to track logs across services for better debugging. link
  • Rate Limiter: Used to prevent too many requests and keep the service secure. link
  • Jest Tests: Tests were written to check if the services work correctly. link

About

software-architecture-and-development-thebughunters

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Vue 39.4%
  • JavaScript 30.4%
  • Java 22.5%
  • Python 6.2%
  • Dockerfile 1.1%
  • HTML 0.4%
0