Agamoni
Engineering & Open Source Offline-First Architecture Flutter + Laravel

Technical Architecture & Open Source Heritage

How Agamoni is engineered for high-density pandal crowds in Kolkata, combining zero-latency offline storage, cross-platform Flutter client, and a resilient Laravel cloud backend.

System Architecture Overview

During Durga Puja in Kolkata, millions of pandal hoppers navigate high-density crowds where mobile cellular networks frequently experience congestion or packet drop. Agamoni is engineered with a strict offline-first principle: core pandal locations, historical themes, metro gates, and bus routes are pre-compiled and embedded on-device.

1. Mobile Client (Flutter & Dart)

Built with Flutter 3.x and Dart, providing 120Hz smooth rendering across Android and iOS with native platform compilation:

  • State & Dependency Management: Powered by flutter_riverpod for compile-safe, testable state flows.
  • Embedded Database: Portable SQLite engine via drift and sqlite3_flutter_libs for instant indexed searches.
  • Geospatial Map Canvas: flutter_map rendering vector and raster OpenStreetMap layers with customized marker clustering.
  • Sharad Pedometer Tracker: Low-power hardware step-detector sensor streaming via pedometer and background sync.
  • Festive Playlist Engine: Seamless audio streaming and background audio playback.

2. Cloud API & Backend Services (Laravel 11 & PHP 8.3)

High-throughput RESTful API built on Laravel 11 and PHP 8.3+, deployed behind edge CDN caching:

  • Authentication & Security: Lightweight token authentication via Laravel Sanctum with mobile OTP validation and rate-limiting.
  • Relational & Geospatial Storage: MySQL 8.0 with spatial indexes for fast bounding-box geo queries.
  • Automated Data Moderation: Pandal submission approval workflows and audit ledgers.
  • Automated Test Suite: High coverage regression testing powered by Pest PHP.

3. Data Pipeline & SQLite Dataset Compilation

Data pipeline orchestrating structured CSV repositories, coordinate normalization, and dataset compilation:

  • Python ETL Pipeline: build_from_csv.py script validating schemas, foreign key constraints, and generating deterministic dp.sqlite packages.
  • Server-Side Artisan Command: php artisan agamoni:dataset:build-sqlite builds and publishes portable datasets with one command.

4. Data Collection, Privacy & Deletion Request Architecture

Designed with a strict data minimization policy:

  • Offline Guest Usage: Searching pandals, calculating nearest routes, viewing metro gates, and checking bus directories require zero personal information or account registration.
  • Phone Number & WhatsApp Verification: Used exclusively for anti-spam authentication and group parikrama coordination. Never sold or shared with advertising networks.
  • Pedometer & Step Tracking: Walking counts and distance metrics synced for festive medals are purged immediately upon account deletion.
  • Fast-Track Deletion Request: Users can delete their data in 1 tap from within the app (Settings → Profile → Delete Account) or submit an external deletion request via Account Deletion Portal / email to [email protected] (actioned within 30 days).

Open Source Repositories & Licenses

Agamoni stands on the shoulders of remarkable open-source projects and their maintainers. We gratefully acknowledge and credit these repositories:

Flutter & Dart ↗
by Google & Flutter Contributors · Frontend & Core Engine
BSD-3-Clause

Cross-platform native compilation, 120Hz smooth animations, and platform channel bindings.

Laravel Framework ↗
by Taylor Otwell & Laravel Contributors · Backend & API Engine
MIT

High-throughput REST API, route dispatching, database migrations, and operational admin console.

Flutter Riverpod ↗
by Rémi Rousselet · State Management
MIT

Compile-safe, reactive state management and dependency injection across the mobile application.

Drift & SQLite3 ↗
by Simon Binder & Alexandre Roux · Offline-First Database
MIT / Public Domain

Embedded relational database for zero-latency, offline pandal searches and local bookmark storage.

flutter_map & LatLong2 ↗
by flutter_map Community · Geospatial & Mapping
BSD-3-Clause

Interactive map canvas, custom pandal markers, route lines, and transit stop clustering.

OpenStreetMap & OpenMapTiles ↗
by OpenStreetMap Community · Open Geospatial Data
ODbL / CC-BY-SA

Open geographic coordinates, street vectors, and landmark geometry for Kolkata.

Dio ↗
by FlutterChina / CFUG · Networking
MIT

HTTP networking, interceptors, request retry pipelines, and cache-busting headers.

Pedometer ↗
by Cph-cachet (Copenhagen Health Tech) · Sensors & Hardware
MIT

Hardware step-sensor event streams for the Sharad Padatik festive walking tracker.

GoRouter ↗
by Flutter Team · App Navigation & Deep Links
BSD-3-Clause

Declarative routing, deferred Play Store deep linking, and tab navigation.

Pest PHP ↗
by Nuno Maduro & Pest Contributors · Testing & Quality Assurance
MIT

Feature testing, API contract validation, and edge-case verification.

Tailwind CSS ↗
by Adam Wathan & Tailwind Labs · Web Design System
MIT

Utility-first styling for landing pages, web previews, and admin operations console.

Special Thanks & Open Data Community

We extend our deepest gratitude to:

  • The OpenStreetMap Contributors: For maintaining open geographical mapping data worldwide and for the city of Kolkata.
  • The Flutter & Dart Ecosystem: For empowering developers to build fast, beautiful mobile applications.
  • The Laravel Community: For crafting an expressive, elegant, and resilient web framework.
  • Kolkata Transit Open Data: For open public transport schedule records from South Bengal State Transport Corporation (SBSTC) and Kolkata Metro Railway.
  • Durga Puja Committees & Organizers: For preserving our heritage and sharing authentic cultural themes and visiting guidelines.
Explore Kolkata Durga Puja in the Agamoni app

Interactive offline map, pandal themes and photos, Nirghonto timings, nearby-pandal sorting and multi-stop route planning.

Download on Google Play