| Name | Modified | Size | Downloads / Week |
|---|---|---|---|
| Parent folder | |||
| api_client.nim | 2026-03-31 | 4.2 kB | |
| handlers.nim | 2026-03-31 | 6.4 kB | |
| makco.nim | 2026-03-31 | 806 Bytes | |
| config.nim | 2026-03-31 | 1.4 kB | |
| makco | 2026-03-31 | 1.7 MB | |
| Totals: 5 Items | 1.7 MB | 0 | |
Makco - Chennai Metro Booking App
A standalone metro ticketing application that integrates with the Chennai Metro (CMRL) infrastructure through the MovingTech/Namma Yatri transport API platform.
What This Is
This project reverse-engineers and documents the complete Chennai One / Namma Yatri metro booking API. We use their authentication, their data, and their payment infrastructure to build our own metro ticketing app.
Status
- Auth: Working (phone OTP based, 4-digit)
- Metro Data: 41 stations, 4 routes (Blue/Green lines)
- Search/Quote: Working (live fare pricing)
- Booking: Working (creates booking, returns Juspay payment order)
- Payment: Juspay integration (production)
- Tickets: QR code generation ready
Quick Start
# Clone the repo
git clone https://github.com/pandatern/makco.git
cd makco
# Read the docs
cat docs/API_REFERENCE.md
cat docs/AUTH_FLOW.md
cat docs/BOOKING_FLOW.md
Documentation
- API Reference - Complete API endpoint documentation
- Architecture - System architecture and data flow
- Authentication Flow - OTP-based auth implementation
- Booking Flow - End-to-end booking pipeline
- Payment Integration - Juspay payment gateway details
- Data Models - Station, route, booking schemas
- Security Analysis - Security posture assessment
- Setup Guide - Development environment setup
Project Structure
makco/
docs/ # Documentation
src/ # Source code
app/ # FastAPI application
api/ # API endpoints
models/ # Data models
core/ # Config, database, security
services/ # Business logic
data/ # Seed data, metro stations
frontend/ # PWA frontend
scripts/ # Utility scripts
tests/ # Test suite
Tech Stack
- Backend: Python 3.10 + FastAPI
- Database: SQLite (dev) / PostgreSQL (prod)
- Auth: JWT + OTP (phone-based)
- Payments: Juspay (UPI, cards, wallet)
- Frontend: PWA (HTML/CSS/JS)
License
For internal development use only.