How yuriigu/arthemis works
The tree and sampled code indicate Arthemis is an environmental-project monitoring application: users manage organizations, projects and their related locations, activities and indicators, then record observations. A SvelteKit frontend calls legacy Brain and authentication APIs; a separate Watcher service exposes audit and report-job functionality. The README contains placeholders rather than reliable product documentation, and several integration implementations were not sampled, so those connections are omitted where caller details are uncertain.
Main entry points: +layout.svelte Web routes · arthemis-api.ts API client · worker.go Report workers · main.go Watcher API
Components 25
Web application
- Web routes
legacy/front/src/routes/+layout.svelte - Login actions
legacy/front/src/routes/login/+page.server.ts - Organization management
legacy/front/src/routes/organizations/+page.server.ts - Project setup
legacy/front/src/routes/projects/+page.server.ts - Project detail
legacy/front/src/routes/projects/[projectId]/+page.server.ts - Observation capture
legacy/front/src/routes/observations/+page.server.ts - User management
legacy/front/src/routes/users/+page.server.ts - Search and overview
legacy/front/src/routes/search/+page.server.ts - API client
legacy/front/src/lib/server/arthemis-api.ts
Project data API
- Brain API
legacy/brain/api/main.go - Domain handlers
legacy/brain/internal/handlers - Domain models
legacy/brain/internal/models - Brain database
legacy/brain/internal/database/connect.go
Authentication
- Auth API
legacy/edge/services/auth/main.go - Auth handlers
legacy/edge/services/auth/handlers - Auth database
legacy/edge/services/auth/database/connect.go
Audit and reports
- Watcher API
legacy/watcher/api/main.go - Audit handler
legacy/watcher/internal/handlers/audit.go - Report handlers
legacy/watcher/internal/handlers/reports.go - Report workers
legacy/watcher/internal/reports/worker.go - Report generation
legacy/watcher/internal/reports/generator.go - MinIO storage
legacy/watcher/internal/reports/minio.go - Watcher database
legacy/watcher/internal/database/connect.go
Other components
- User
- Browser user
Connections 28
- User → Web routes: uses
- Web routes → Login actions: submits login
- Login actions → API client: calls auth
- Web routes → Organization management: opens
- Web routes → Project setup: opens
- Web routes → Observation capture: opens
- Web routes → User management: opens
- Web routes → Search and overview: opens
- Web routes → Project detail: opens
- Organization management → API client: calls
- Project setup → API client: creates records
- Project detail → API client: fetches project
- Observation capture → API client: manages observations
- User management → API client: manages users
- Search and overview → API client: fetches records
- Brain API → Domain handlers: dispatches requests
- Domain handlers → Brain database: reads and writes
- Domain handlers → Domain models: uses domain types
- Auth API → Auth handlers: dispatches requests
- Auth handlers → Auth database: accesses
- Watcher API → Audit handler: dispatches audit
- Watcher API → Report handlers: dispatches reports
- Watcher API → Report workers: starts and recovers
- Report workers → Report generation: generates
- Report workers → Watcher database: reads and writes jobs
- Report workers → MinIO storage: stores PDFs
- Report handlers → Report workers: submits jobs
- Browser user → Web routes: views pages