Back to projects
Green Algeria Map
In DevelopmentReforestation tracking platform
Multi-backend map platform for reforestation tracking across Algeria. NestJS, Go, and Spring Boot with matching test suites and CI for fair benchmarking.
Tech Stack
React 19 TanStack Router Tailwind CSS v4 shadcn/ui Leaflet NestJS 11 Go 1.26 Spring Boot 4 CQRS TypeORM (NestJS) pgx (Go) PostgreSQL 18 BetterAuth RustFS (S3-compatible) Cloudflare R2 Vitest testcontainers Go testing Playwright Cloudflare Pages Render
Implemented
- Interactive Leaflet map with color-coded zones
- Zone CRUD API with CQRS pattern across 3 backends
- Damage reporting with photo evidence and red markers
- Tree species info via iNaturalist / GBIF integration
- Photo upload to RustFS (S3-compatible storage)
- Crowdsourced zone creation with volunteer CTA
- Email/password authentication via BetterAuth
- Mobile-responsive design with clamp-based font scaling
- Clean architecture with domain/application/infrastructure layers
- TypeORM migrations with strict schema management
- In-memory caching with per-id eviction (NestJS, Go, Spring Boot)
- Retry with exponential backoff for uploads (NestJS, Go)
- 180+ tests across unit, integration, and E2E suites
- CI pipeline with path filters per backend
- Swagger and Scalar API documentation
- Deployed on Cloudflare Pages + Render
- Docker Compose for multi-backend benchmarking
Planned
- CI matrix for Go backend
Technical Highlights
CQRS Pattern
Commands, queries, and domain events for clean separation of read and write paths — implemented identically in NestJS and Go.
Testcontainers
Isolated PostgreSQL per test run with zero shared state between suites.
3-Backend Benchmark
NestJS, Go, and Spring Boot implementing the same API with matching caching configs and CI for fair performance comparison.
In-Memory Caching
LRU cache with 5 min TTL and per-id eviction, implemented consistently across all three backends.