This repository houses the logic for the GraphQL server and API that backs Invoy.
Development Environment
To ensure that developing within this repository is as seamless as possible across all of our developers' workstations, we are using Docker and Docker Compose.
Ensure that Docker is installed on your machine and that your Docker Daemon is running.
Development
To start your development Postgres database (this will create your database the first time it prepares resources):
# If you need to see trace-logs
docker-compose up
# If you only need the environment to run
docker-compose up -dTo stop your Postgres database:
docker-compose stopTo destroy your Postgres database:
docker-compose downyarn devHow do I check that my docker-compose.yml file has the correct configuration (i.e. my environmental variables are coming in correctly)?
docker-compose configHow do I check if my Docker container is currently running?
docker-compose psWill we be able to run our GrpahQL Server and our Database in the one big Docker-Compose container so that I don't have to open two windows and run stuff concurrently?
At the moment, this isn't looking like a viable option. The reason for this is that the bcrypt module has a lot off issues when built in a MacOS environment but then run in a Linux environment. It is necessary to build the node_modules therefore on the Linux machine every time we want to add packages, which would continutally mean we would have to run docker-compose down; docker-compose up every time we wanted to update our package.json file, which does not make for a happy development environment experience.