This project is a monorepository using pnpm workspaces.
Install dependencies for both projects (api
and website
):
pnpm install
Copy API TypeScript types to website:
pnpm copytypes
See each project's documentation:
Heroku is used to handle staging deployements:
-
Each pull request on
main
branch will trigger a new deployment. The URL is available on the GitHub PR. -
The
main
branch is deployed on https://date-poll-production-210a482abfed.herokuapp.com.
o2switch is used to handle production deployments:
- Connect with SSH to o2switch (
ssh <user_id>@seconde.o2switch.net
). - Go to project folder and
git pull
to get the latest code version. - Build
website
and/orapi
projects withpnpm run build
. - Restart
website
and/orapi
projects on o2switch cPanel interface.
Cypress is used to run end-to-end (e2e) tests to reproduce users behaviour.
There are 2 ways to run these tests:
# Run tests in the command line
pnpm cypress:run
# Open the Cypress app
pnpm cypress:open