perf: optimize loading time — paginated API, slim payloads, local category filtering
Backend: Rewrote EventListAPI to query per-type with DB-level LIMIT instead of loading all 734 events into memory. Added slim serializer (32KB vs 154KB). Added DB indexes on event_type_id and pincode. Frontend: Category chips now filter locally from _allEvents (instant, no API call). Top Events and category sections always show all types regardless of selected category. Added TTL caching for event types (30min) and events (5min). Reduced API timeout from 30s to 10s. Added memCacheHeight to all CachedNetworkImage widgets. Batched setState calls from 5 to 2 during startup. Cached _eventDates getter. Switched baseUrl to em.eventifyplus.com (Django via Nginx+SSL). Added initialEvent param to LearnMoreScreen for instant detail views. Resolved relative media URLs for category icons. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -3,7 +3,11 @@ class ApiEndpoints {
|
||||
// Change this to your desired backend base URL (local or UAT)
|
||||
// For local Django dev use: "http://127.0.0.1:8000/api"
|
||||
// For UAT: "https://uat.eventifyplus.com/api"
|
||||
static const String baseUrl = "https://uat.eventifyplus.com/api";
|
||||
static const String baseUrl = "https://em.eventifyplus.com/api";
|
||||
|
||||
/// Base URL for media files (images, icons uploaded via Django admin).
|
||||
/// Relative paths like `/media/...` are resolved against this.
|
||||
static const String mediaBaseUrl = "https://em.eventifyplus.com";
|
||||
|
||||
// Auth
|
||||
static const String register = "$baseUrl/user/register/";
|
||||
|
||||
Reference in New Issue
Block a user