boilerplate-backend
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 |
| 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 |
| 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 |
| Documentation | |
npm run docs:dev |
Run Documentation in development mode |
npm run docs:build |
Build static documentation |
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 |