- This is a public open-source project on GitHub:
https://github.com/sgoudelis/ground-station(default branchmain, license GPL-3.0). - GitHub issues and pull requests should be handled with
gh, and commands should targetsgoudelis/ground-stationexplicitly (example:gh issue list --repo sgoudelis/ground-station). - Stack split is backend Python/FastAPI + Socket.IO and frontend React/Vite.
- Backend package metadata is in
backend/pyproject.toml; frontend scripts are infrontend/package.json. - Backend runtime requirement in
backend/pyproject.tomlis Python>=3.12,<3.13. - Backend Python tooling (pytest/python/alembic/etc.) is available in
backend/venv/bin. - Frontend uses Node tooling (Vite/Vitest/Playwright) with scripts like
dev,build,test,test:e2e. - Default backend app config is host
0.0.0.0, port5000, DBdata/db/gs.db. - CI exists in both GitHub Actions (
.github/workflows/tests.yml, release workflow) and Drone (.drone.yml).
- Backend unit tests:
cd backend && ./venv/bin/pytest -m unit
- Frontend unit tests:
cd frontend && npm test
- Frontend E2E tests:
cd frontend && npm run test:e2e
- Python dev/test tools for backend are in
backend/venv/bin(for example./venv/bin/pytest,./venv/bin/python,./venv/bin/alembicfrom insidebackend/). - For pytest runs, set
ALEMBIC_CONTEXT=1to avoid app CLI argument parsing conflicts (example:cd backend && ALEMBIC_CONTEXT=1 ./venv/bin/pytest -q). - Frontend E2E tests require the app/backend to be running and reachable by Playwright test config.