Skip to content

Latest commit

 

History

9 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏊 aqua-os-backend

REST API for water polo club management — exercises, levels, and training data.

Architecture

Go service using chi router with SQLite storage. Serves as the core data API for the aqua-os frontend and AI crews.

cmd/server/    → entrypoint
internal/      → handlers, models, database
data/          → SQLite database file

Prerequisites

  • Go 1.21+
  • GCC (for SQLite CGO bindings)

Run Locally

make run
# or
go run ./cmd/server

Server starts on http://localhost:8080

Environment Variables

Variable Description Default
PORT Server port 8080
JWT_SECRET JWT signing key

API Endpoints

Method Path Description
GET /api/health Health check
GET /api/levels List all levels
GET /api/levels/{id} Get level by ID
POST /api/exercises Create exercise
GET /api/exercises List exercises
DELETE /api/exercises/{id} Delete exercise

Docker

docker build -t aqua-os-backend .
docker run -p 8080:8080 aqua-os-backend

Related Repos

Repo Description
aqua-os-web React frontend
aqua-os-crew AI agents (CrewAI)
aqua-os-calendar Game calendar service
aqua-os-infrastructure Terraform AWS infra

License

GPL-3.0

Metrics

Prometheus metrics are available via the internal/metrics package. To enable, register the handler in your router:

import "aqua-os-backend/internal/metrics"

r.Handle("/metrics", metrics.Handler())

Exposes http_requests_total and http_request_duration_seconds at /metrics.

About

Go REST API for water polo club management. Chi router, JWT auth, SQLite, Prometheus metrics.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages