A data visualisation platform for wildlife observation data in Nillumbik Shire
├── backend/ # Go API server
├── frontend/ # TypeScript frontend
├── docker/ # Docker compose files
└── Makefile # Build automation
-
Node.js: version 24
-
Yarn: 1.22
cd frontend yarn install yarn dev
Note: You don't need to install Docker and database to develop frontend. You will connect to the demo server backend.
- Go: 1.24 or later
- Make
- Docker
We use Make as command runner
# Setup development environment
make setup-dev
# Install dependencies
make install
# Start database
make docker-up
# Migrate database
make db-migrate-up
# Seed database with sample values
make db-seed
# Start development servers
make devBackend API documents: http://localhost:8000/swagger/index.html
Put the detections CSV file in backend/data/nillumbik.csv and run the following:
make run-import
make dev- Start both backend and frontend dev serversmake build- Build both projectsmake test- Run all testsmake check- Run linting, tests, and build
make run-backend- Run Go backendmake run-import- Run CSV importercmd/importer/main.gomake sqlc-generate- Generate code from SQL (only required when schema changed)make gen-doc- Generate Swagger API documents from comments (See swaggo document)make test-backend-coverage- Run tests with coverage
make init-frontend- Initialize new React+TypeScript frontendmake dev-frontend- Start frontend dev server
make docker-up- Start PostgreSQL databasemake docker-down- Stop PostgreSQL databasemake db-migrate-up- Run database migrationsmake db-migrate-down- Revert database migrationsmake db-migrate-create name=[migration name]- Create new migration files
make help- Show all available commandsmake clean- Clean build artifacts