typescript | apollo server | prisma | graphql | graphql-middleware | graphql-shield | prettier | eslint | husky
This project was developed to learn how to:
- create a simple out-of-the-box sample code to implement a Graphql API with Typescript
- set up a test framework for a Graphql API (Unit & End 2 End test)
- set up Set up code-quality
- set up Set up a robust CICD
- develop a cloud version and on promise version
This project will be my boiler API template for my next project
- TypeScript
- Simple graphql queries (insert / read)
- Add authorization rules on graphql schema
- Dependabot with GitHub Action
- Prettier + Eslint
- Concentionnal commit commitlint
- precommit | pre-message hook (with husky)
- Authentification method (SignIn / logIn / logOut / refreshtoken)
- Logger with winston
- UnitTest (PrismaMock, Jest)
- E2E (Utilities for testing Apollo Server)
- Developpement environnement through DockerCompose
- CICD (Create auto deploy to QA / Prod) => Vercel ? Github Action ?
- Packaging (or tempalte to initialize project quickly)
- Database (Neon ? / AWS R.D.S. ? , cockroach db ?)
- DockerVersion to run onPremise
- Serverless version
- Terraform
- ...