Skip to content

A Clean Architecture practice - Includes an implementation for safe usage of JWT authentication.

Notifications You must be signed in to change notification settings

ofekatr/Clean-Architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

87 Commits
 
 
 
 
 
 

Repository files navigation

Clean Architecture Practice 🧼

Full-Stack app for practicing Clean Architecture and safe JWT authorization.

Implemented in TypeScript, using:

  • Node.js
  • Express.js
  • PostgresQL
  • TypeORM
  • GraphQL
  • Apollo
  • TypeGraphQ
  • GraphQL Code Generator
  • React.

Project Features:

  • An implementation for safe usage of JWT authorization - Using access and refresh tokens mechanism for silent refreshes.
  • Utilizes GraphQL Code Generator in order to build strict types on the client-side from the GraphQL schema and operations.
  • Implements concepts demonstrated in Robert Cecil Martin's Clean Architectural Design.

Steps to run this project:

  1. Run npm i command for both client and server.
  2. Setup database settings inside ormconfig.json file in the server directory.
  3. Setup .env in the server directory with the following structure:
NODE_ENV=<"development" | "production" | "staging" | "test">
JWT_ACCESS_KEY=<Your private key for JWT access token generation>
JWT_REFRESH_KEY=<Your private key for JWT access token generation>
PORT=<The desired port to run the server on>
CLIENT_HOST=<The client app host, e.g, "http://localhost:3000">
  1. Run npm start command for both the server and the client.

About

A Clean Architecture practice - Includes an implementation for safe usage of JWT authentication.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published