Back to projects

Green Algeria Map

In Development

Reforestation 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.