Skip to content

Latest commit

 

History

History
33 lines (28 loc) · 1.41 KB

README.md

File metadata and controls

33 lines (28 loc) · 1.41 KB

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.