There is one continuous deployment GitHub workflow. It runs on all pushes, deploys to a staging environment where it runs the end-2-end tests and if they pass it deploys to prod (only if main branch).
The setup-node action is used to cache node dependencies. A cache is also created for the playwright binaries; it uses the playwright version in the key to ensure it is updated when the playwright version changes.
End-2-end tests use Playwright and should test all nominal flows.
The data is persisted in a SQLite database using the Prisma ORM.
The REST API has these resources:
- Motorcycle
- Diagram
- Diagram / PartReference
- Part
- Comment
-
Install dependencies:
npm install
-
Run the backend:
cd backend npm run dbpush npm run dbseed npm run dev
-
Run the frontend:
cd frontend npm run dev