Monorepo for BCNGo, a culture and leisure project focused on Barcelona. It includes both the REST API (Django) and the Android app (Kotlin) in one repository.
| Part | Path | Description |
|---|---|---|
| Backend | backend/ |
Django, DRF, PostgreSQL, JWT, Firebase Admin, Swagger |
| Frontend | frontend/ |
Android app with Gradle |
- Backend: Python 3.9+, Docker (optional), PostgreSQL.
- Frontend: Android Studio / JDK (see
frontend/README.md).
cd backend
docker compose up --buildMigrations (first setup):
docker exec bcngo-container python manage.py migrateSwagger: http://localhost:8000/swagger/
More details: backend/README.md.
cd frontend
./gradlew assembleDebugThe file frontend/app/google-services.json is not versioned (it contains credentials). Copy it locally as described in frontend/README.md. In GitHub Actions, define the GOOGLE_SERVICES_JSON secret with the full JSON content so CI can build the app.
Workflows are located in .github/workflows/:
ci-django.yml— Docker Compose, Pylint, migrations, and backend tests (only when files underbackend/or the workflow itself change).ci-android.yml— Build, ktlint, detekt, tests, and Firebase Distribution deployment when applicable (only when files underfrontend/or the workflow itself change).
If you deploy using the Django workflow SSH job, the remote machine should keep this structure (for example after git pull):
.../bcngo-backend/ # or your folder name
backend/
docker-compose.yml
...
Remote commands use the backend/ subdirectory for docker compose. If your server had the old repo layout with files at root level, move or re-clone the project to align paths.
.
├── README.md # This file
├── backend/ # Django project (API)
├── frontend/ # Android project
└── .github/workflows/ # Backend and frontend CI
API contact (OpenAPI documentation): pesbcngo@gmail.com.