- explain folder structure
- explain each config file
- add docker compose for development inside docker
- Python 3.7 or newer (for backend and e2e/integration tests)
- Node.js 12+ (for frontend)
- Docker (for e2e/integration test)
Install node and python 3.7+
pip install poetry --user
poetry install
cd frontend && npm install && cd ..
npm run start
poetry run uvicorn backend.main:app --reload --host localhost --port 8000
Build the front end and host it somewhere (e.g. github pages)
npm run build
Launch the backend on a server
poetry run uvicorn backend.main:app --host localhost --port 8000
[x] Communicate between front and backend
[ ] Accept file download (sent via backend)
[ ] Accept file upload
[ ] User register
[ ] User login
[ ] Use cookies to store login? https://sanic.readthedocs.io/en/latest/sanic/cookies.html
poetry run pytest backend/test
npm run test
Start frontend dev server, then click a few buttons and make sure the site loads correctly (and how quickly, with benchmark tests).
poetry run pytest test/test_e2e.py
Start backend and frontend server, then make sure that server responses are correct.
poetry run pytest test/test_integration.py
poetry run pre-commit install
poetry run pre-commit run --all-files
This runs autoformatting, checks and tests
npx npm-check-updates -u
Done by pre commit hook
npx prettier --write "src/**/*.tsx"
yapf ./**/*.py -i