2023-12-07 13:15:58 +01:00

4.9 KiB

boilerplate-backend

nodejs npm docker eslint apollo-server graphql type-graphql prisma

The IT4C Boilerplate for an apollo express backends.

Requirements & Technology

To be able to build this project you need nodejs, npm and optional docker.

The project sets up an apollo server. It uses type-graphql.

The project is set up for a mysql database, which is expected to run. Copy the .env.dist file to .env. You can change the database connection in the prisma/schema.prisma file and your local .env.

Commands

The following commands are available:

Command Description
npm install Project setup
npm run build Compiles and minifies for production
npm run start Runs productions server
Develop
npm run dev Compiles and hot-reloads for development
Test
npm run test:lint Run all linters
npm run test:lint:eslint Run linter eslint
npm run test:lint:remark Run linter remark
npm run test:unit Run all unit tests and generate coverage report
npm test Run all tests & linters
Database
npm run db:migrate Creates and executes migrations needed
npm run db:reset Drops Schema, run all migrations and seeds
npm run db:seed Run the seeds

Docker

Docker can be run in development mode utilizing docker-compose.overwrite.yml:

docker compose up

Docker can be run in production mode:

docker compose -f docker-compose.yml up

Update

You can get a list of packes to update by running npm run update.

Appending -u will also update the packages in the package.json. You have to run npm install again after.

npm run update -- -u
npm install

Endpoints

The following endpoints are provided given the right command is executed or all three if docker compose is used:

Endpoint Description
http://localhost:4000/graphql GraphQL API
http://localhost:4000/playground GraphQL Playground

License

Apache 2.0