Technical Architecture & Open Source Heritage
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_riverpodfor compile-safe, testable state flows. - Embedded Database: Portable SQLite engine via
driftandsqlite3_flutter_libsfor instant indexed searches. - Geospatial Map Canvas:
flutter_maprendering vector and raster OpenStreetMap layers with customized marker clustering. - Sharad Pedometer Tracker: Low-power hardware step-detector sensor streaming via
pedometerand 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.pyscript validating schemas, foreign key constraints, and generating deterministicdp.sqlitepackages. - Server-Side Artisan Command:
php artisan agamoni:dataset:build-sqlitebuilds 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:
Cross-platform native compilation, 120Hz smooth animations, and platform channel bindings.
High-throughput REST API, route dispatching, database migrations, and operational admin console.
Compile-safe, reactive state management and dependency injection across the mobile application.
Embedded relational database for zero-latency, offline pandal searches and local bookmark storage.
Interactive map canvas, custom pandal markers, route lines, and transit stop clustering.
Open geographic coordinates, street vectors, and landmark geometry for Kolkata.
HTTP networking, interceptors, request retry pipelines, and cache-busting headers.
Hardware step-sensor event streams for the Sharad Padatik festive walking tracker.
Declarative routing, deferred Play Store deep linking, and tab navigation.
Feature testing, API contract validation, and edge-case verification.
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.
Interactive offline map, pandal themes and photos, Nirghonto timings, nearby-pandal sorting and multi-stop route planning.
Download on Google Play