![Screenshot 2024-06-18 at 1 28 04 PM](https://private-user-images.githubusercontent.com/5595452/340790643-a5bdb379-5764-4ba4-a453-37d4dffbe9e8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjMwNTg5MzksIm5iZiI6MTcyMzA1ODYzOSwicGF0aCI6Ii81NTk1NDUyLzM0MDc5MDY0My1hNWJkYjM3OS01NzY0LTRiYTQtYTQ1My0zN2Q0ZGZmYmU5ZTgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDgwNyUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA4MDdUMTkyMzU5WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9N2E4MjE3ZDBhNjgzODRjZDY4NTVhMjM4YmM0YjI3MmJkMjc0NTU5MjVkOWM0ZTllNDY3YTFkZTRjZDA4YTdmZiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.k7onMEHda2lNdNjfTS7WwqFJj8Q_LTSN9yK76YA_pYE)
- frontend and server are in separate directories, called workspaces
- each workspace has its own package.json
- each workspace has its own Dockfile to build a docker image
- the deployment folder has a docker-compose.yml to run the project as a whole
- frontend is hosted using ngxinx web server, expose to the network
- API server is hosted using nodejs, running only on 'localhost'
- cd project-root
- npm install
- run API server in dev mode from the project root
- Reloads on file changes
- npm run server:dev
- run frontend in dev mode from the project root
- Reloads on file changes
- npm run frontend:dev
- Build everything from the project root
- npm run build
- Clean everything from the project root
- rm -fr node_modules frontend/node_modules frontend/dist server/build