Skip to content

IamPritamAcharya/Alcademy

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

11 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Alcademy – Academic Platform for IGIT

A production-scale academic platform used daily by 2000+ students, built under real-world constraints.


🧭 What This Project Actually Is

Alcademy is a client-orchestrated academic ecosystem designed for:

  • Fragmented institutional systems
  • Unreliable data sources
  • Strict API rate limits

Instead of centralizing everything, responsibilities are distributed across systems, with the Flutter client acting as the orchestration layer.


🧠 Why This Project Stands Out

Area What Makes It Different
Architecture Client-driven orchestration (non-traditional)
Reliability Works even when some sources fail
Performance Heavy use of caching + isolates
Scalability No single system bottleneck
Real-world usage 2000+ active users



🧱 Architecture Diagram

                         β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                         β”‚     External Systems     β”‚
                         │──────────────────────────│
                         β”‚  β€’ Google Gemini API     β”‚
                         β”‚  β€’ GitHub API (Notes)    β”‚
                         β”‚  β€’ College Websites      β”‚
                         β”‚    (Scraped Data)        β”‚
                         β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                    β”‚
                                    β–Ό
                        β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
                        β”‚     Flutter Client       β”‚
                        │──────────────────────────│
                        β”‚ β€’ Feature Modules        β”‚
                        β”‚ β€’ API Orchestration      β”‚
                        β”‚ β€’ Caching Layer          β”‚
                        β”‚ β€’ Rate Limiting          β”‚
                        β”‚ β€’ Deep Linking           β”‚
                        β”‚ β€’ Isolates (Parsing)     β”‚
                        β””β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                                β”‚        β”‚
               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜        └────────────────┐
               β–Ό                                         β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”               β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚     Supabase         β”‚               β”‚       Firebase         β”‚
   │──────────────────────│               │────────────────────────│
   β”‚ β€’ Users              β”‚               β”‚ β€’ Push Notifications   β”‚
   β”‚ β€’ Posts (Threads)    β”‚               β”‚   (FCM only)           β”‚
   β”‚ β€’ Clubs Data         β”‚               β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
   β”‚ β€’ Storage (Buckets)  β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

               β–Ό
   β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
   β”‚   Local Device Layer πŸ”      β”‚
   │──────────────────────────────│
   β”‚ β€’ Secure Vault (Biometric)   β”‚
   β”‚ β€’ Cached API Responses       β”‚
   β”‚ β€’ Offline Utilities          β”‚
   β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

βš™οΈ System Design Philosophy

Why this architecture works

  • Decoupled systems β†’ failure in one source doesn’t break the app
  • Client-side intelligence β†’ reduces backend complexity
  • GitHub as CDN β†’ predictable scaling
  • Local-first design β†’ fast UX + offline support

🧠 β€œMove complexity to where it scales best β€” in this case, the client.”


πŸ”„ Data Flow Pipeline

Google Drive β†’ Python Script β†’ GitHub β†’ Flutter App

Pipeline Breakdown

Step Purpose
Google Drive Easy content management
Python Script Structured transformation
GitHub CDN layer
Flutter Smart consumption

🧩 Core Systems

πŸ“š Academic Resource Engine

  • GitHub-backed structured content
  • Locally cached
  • High-read optimized

🧡 IGIT Threads

  • Supabase-powered discussions
  • Deep linking enabled
  • Club-managed communities

πŸ”” Notification System

  • Firebase FCM (delivery only)
  • Event-triggered

🧠 AI Assistant

  • Gemini API integration
  • Stateless architecture
  • Low latency

πŸ“° Notices Engine

  • Web scraping pipeline
  • Parsed via isolates
  • Fault-tolerant

πŸ›‘ Secure Vault

  • Biometric-protected
  • Local-only storage
  • No backend dependency

⚑ Performance Engineering

Key Optimizations

  • Smart API caching
  • Rate limiting (60/hr + controlled refresh)
  • Background parsing (isolates)
  • Lazy loading

Result

  • 41 min avg engagement
  • Smooth UI under heavy load
  • Reduced API failures

🌐 Scalability Strategy

Layer Strategy
🌐 GitHub Static scaling
🧩 Supabase Relational scaling
🧠 Client Orchestration

No single system becomes a bottleneck.


πŸ’  Key Engineering Wins

  • Resilient multi-source system
  • Reduced backend dependency
  • Designed for unreliable environments
  • High engagement via performance tuning

πŸ”° What You Can Learn

  • Client-side system design
  • API orchestration
  • Flutter performance patterns
  • Caching + rate limiting
  • Building under constraints

πŸ›  Tech Stack

Layer Tech
Mobile Flutter (Dart)
Backend Supabase
Notifications Firebase FCM
Content GitHub API
AI Google Gemini API
Local SharedPreferences + Biometrics

☒️ Trade-offs

Decision Reason
Client-heavy logic Reduced backend complexity
GitHub as CDN Free + scalable
Stateless AI Faster responses
Scraping notices No official APIs

πŸŒ€ Highlights

  • Fast (offline-first + caching)
  • Smart (AI + orchestration)
  • Secure (biometric vault)
  • Resilient (multi-source fallback)

πŸ›  Run Locally

git clone https://github.com/your-repo
cd your-repo
flutter pub get
flutter run

🀝 Contributing

Currently not open for external contributions.


πŸ“Œ Closing

Alcademy is a system design project disguised as a mobile app.

Built with one goal:

πŸͺ Deliver fast, reliable academic access even in imperfect environments.