Skip to content

nawodyaishan/WebDev-Node-Express-TypeScript-Mongo-Zod-API

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

18 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Application Programming Interface using NodeJs, ExpressJs, TypeScript, MongoDB and Zod.

Required Packages

Adding Production Dependencies

npm i express zod config cors express mongoose pino pino-pretty dayjs bcrypt jsonwebtoken lodash nanoid

Adding Dev Dependencies

npm i @types/body-parser @types/config @types/cors @types/express @types/node @types/pino @types/bcrypt @types/jsonwebtoken @types/lodash @types/nanoid ts-node-dev typescript -D

Requirements

  • A running instance of MongoDB

  • Postman

  • An IDE or text editor (VS Code)

  • A web browser

  • A package manager such as NPM or Yarn

  • Node.js installed

  • Testing the API with Jest

  • Build a React.js user interface

  • Add Prometheus metrics to the API

  • Deploy the API with Caddy & Docker

  • Add Google OAuth

Concepts

  • REST API principals
    • CRUD
    • HTTP methods
  • JWT & refresh tokens
  • Request validation

Technologies

  • Node.js
  • MongoDB with Mongoose
  • TypeScript
  • Express.js & Express.js middleware
  • Zod validation

Data flow

data-flow

Access & refresh token flow

refresh-token-flow

About

Application Programming Interface using NodeJs, ExpressJs, TypeScript, MongoDB and Zod

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published