Thank you for your interest in contributing to the project! This guide will help you get started with the development process.
The project is designed to be run on linux systems, and the following instructions are tailored to that environment. If you are using a different OS, you may need to make some adjustments. For Windows, you can use WSL2. It hasn't been tested on macOS, but should work.
Additionally on Windows:
-
Clone the repository
git clone git@github.com:sproutmaster/nyuprinters.git
-
Change into the project directory or open it in your favorite IDE
-
Put sample data into the database.
make seed
-
There are two ways to run the project, depending on what you'd like to work on.
-
MINDEV: This works for most cases. Use this to work on the frontend, web and api backend. This spins up:
-
statusd: The public serving web server
-
postgres: The database using docker
make mindev
-
-
DEV: This option is when you want to run the full app as if it is in production (not really). Use this if you are on a network with reachable printers. This spins up:
-
statusd: The public serving web server
-
postgres: The database using docker
-
sourced: The backend service for sourcing data from the printers
-
updated: The backend service for updating the printer data
make dev
-
-
To stop the running services, you can use the following command:
make stopTo delete the database, venv, node modules and start fresh, you can use this make target. Even though are files are deleted, the data would still persist in a docker volume.
make cleanTo remove everything and start fresh:
make reset