Welcome to SatWave documentation!
- Bot Setup - Creating and configuring Telegram bot
- User Flows - How users interact with bot
- Development - Development and extending bot functionality
- API Overview - General API information
- Webhook Endpoints - Webhook API documentation for receiving photos
- Authentication - Authentication methods (TODO)
- Usage Examples - Integration examples
- Analysis System Overview - How the analysis system works
- ML Models - Used ML models (YOLOv8, Detectron2)
- Waste Classification - Waste types and confidence
- Geo-validation - Coordinate verification and deduplication
- Clean Architecture - Clean architecture principles
- System Components - Project structure
- Ports and Adapters - Hexagonal architecture
- Database - Database schema and PostGIS
- ADR-001: Architecture Style Choice
- ADR-002: ML Framework Choice
- ADR-003: Deduplication Strategy
- ADR-004: Telegram vs WebApp
- Docker Setup - Running via Docker
- Production Guide - Production deployment (TODO)
- Monitoring - Logging and monitoring (TODO)
- Testing Strategy - Unit, Integration, E2E tests
- Running Tests - How to run tests
- Contributing Guide - How to contribute
- Code Style - Code formatting rules
- Git Workflow - Working with branches and commits
I want to...
- Setup Telegram bot → bot/setup.md
- Integrate with API → api/webhook.md
- Understand how ML works → algorithms/overview.md
- Learn about architecture → architecture/clean-architecture.md
- Understand why this choice was made → adr/
- Run project → Quick Start Guide
- Dima — Webhook API, geo-validation, ML analysis, Telegram bot
- Maxim — Satellite data, area analysis, database
Documentation is updated as the project evolves