/graphql-prisma-clean-architecture

This project demonstrates how to build a scalable and maintainable application by adhering to the principles of Clean Architecture, leveraging the powerful ORM capabilities of Prisma, and utilizing GraphQL for API interactions.

Primary LanguageTypeScript

Architecture

The following technologies and services are used to develope the application:

  • Express
  • Postgres
  • TypeScript
  • Jest
  • GraphQL
  • TypeGraphQL
  • Prisma

APIs

The server application is designed based on clean architecture. It comprises of GraphQL APIs that provide the business logic to the client applications. These APIs support the business processes and provides domain model services. Therefore.

Object Models

Process endpoint uses domain service endpoints as business actions to implement the workflow and perform a task. Process endpoint only knows about entity models.

Running App

  • Create .env.development and .env.test files (You can see variables in .env.example).
  • Run migrate:postgres-dev script.
  • Run start:dev for watching app or start script.

Running Tests

  • Create .env.development and .env.test files (You can see variables in .env.example).
  • Run migrate:postgres-test script.
  • Run test:dev for watching test or test script.