dekk-backend
v0.0.1-rc-2
Published
The backend for dekk
Downloads
3
Readme
The backend for dekk
Development
Setup
- Install docker + docker-compose (usually comes with docker)
- Install dependencies with
yarn
Start local stack
Start the local stack (MariaDB + Adminer) using docker-compose:
docker-compose -f stack.yml up
Start the GraphQL-Server:
yarn start
Access the database
With adminer you can take a look at the database dekk
and it's tables using the default credentials:
Key|Value
---|---
Host|db
Username|root
Password|example
Database|dekk
You can also use Prisma Studio to access the database after you ran this command: npx prisma studio
Access the GraphQL Playground
The GraphQL Playground is accessiable via localhost:1337/graphql
Example queries & mutations
Schema
- The schema for the database is using Prisma and can be found in schema.prisma.
- Prisma is used to generate the code that can be used to access the underlying database
- typegraphql-prisma is used to generate models classes, enums, as well as CRUD resolvers and relations resolver based on the schema.prisma in combination with decorators in the model
Update the schema.prisma
Everytime the database-schema is updated, we have to run yarn prisma:migrate
which will
- generate the needed code for Prisma and typegraphql-prisma
- update the database to reflect the changes to the schema inside the tables (e.g. a new column was added)
Deployment
We are using Docker to create images that can be deployed to different systems. The image contains the whole application without the database.
- Create the docker image using
yarn build:docker
- Start the prd-stack using
docker-compose -f stack.prd.yml
to use the image