diff --git a/README.md b/README.md index 7c6910e..0971f71 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ -# πŸ—οΈ FixMate - Smart Citizen-Driven Urban Maintenance Platform +# πŸ—οΈ CityPulse - Smart Citizen-Driven Urban Maintenance Platform -FixMate is a comprehensive citizen reporting application that combines **Flutter frontend** with **Python FastAPI backend** and **AI-powered image classification**. Users can capture urban issues (potholes, broken streetlights, trash, etc.), get automatic AI classification, and track their reports through a complete management system. +CityPulse is a comprehensive citizen reporting application that combines **Flutter frontend** with **Python FastAPI backend** and **AI-powered image classification**. Users can capture urban issues (potholes, broken streetlights, trash, etc.), get automatic AI classification, and track their reports through a complete management system. ## 🎯 System Architecture diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml index 665f51a..1aedce7 100644 --- a/android/app/src/main/AndroidManifest.xml +++ b/android/app/src/main/AndroidManifest.xml @@ -1,5 +1,5 @@ - + diff --git a/assets/lang/en.json b/assets/lang/en.json index 337c4c2..1590fa1 100644 --- a/assets/lang/en.json +++ b/assets/lang/en.json @@ -1,5 +1,5 @@ { - "app.name": "FixMate", + "app.name": "CityPulse", "nav.report": "Report", "nav.map": "Map", "nav.myReports": "My Reports", @@ -81,14 +81,14 @@ "settings.theme.dark": "Dark", "lang.en": "English", "lang.ms": "Bahasa Malaysia", - "welcome.title": "Spot it. Snap it. Fix it.", + "welcome.title": "Snap. Detect. Fix.", "welcome.subtitle": "Report city issues in seconds with AI-powered detection. Help create safer, better communities together.", "cta.continueGuest": "Continue as guest", "cta.signIn": "Sign in", "cta.skip": "Skip", "cta.next": "Next", "cta.getStarted": "Get started", - "onboarding.header": "Welcome to FixMate", + "onboarding.header": "Welcome to CityPulse", "onboarding.title1": "Fast Issue Reporting", "onboarding.body1": "Simply take a photo of any urban issue - our AI automatically identifies and categorizes the problem in seconds.", "onboarding.title2": "Smart City Mapping", @@ -99,12 +99,12 @@ "auth.signInWithApple": "Sign in with Apple", "auth.signInWithGoogle": "Sign in with Google", "auth.comingSoon": "Coming soon", - "welcome.title": "Spot it. Snap it. Fix it.", + "welcome.title": "Snap. Detect. Fix.", "welcome.subtitle": "Report city issues in seconds with AI-powered detection. Help create safer, better communities together.", "cta.continueGuest": "Continue as Guest", "cta.signIn": "Sign In", "cta.skip": "Skip for now", - "onboarding.header": "Welcome to FixMate", + "onboarding.header": "Welcome to CityPulse", "onboarding.title1": "Fast Issue Reporting", "onboarding.subtitle1": "AI-Powered Detection", "onboarding.body1": "Simply take a photo of any urban issue - our AI automatically identifies and categorizes the problem in seconds.", diff --git a/assets/lang/ms.json b/assets/lang/ms.json index c7e15d0..305401e 100644 --- a/assets/lang/ms.json +++ b/assets/lang/ms.json @@ -1,5 +1,5 @@ { - "app.name": "FixMate", + "app.name": "CityPulse", "nav.report": "Lapor", "nav.map": "Peta", "nav.myReports": "Laporan Saya", @@ -88,7 +88,7 @@ "cta.skip": "Langkau", "cta.next": "Seterusnya", "cta.getStarted": "Mula", - "onboarding.header": "Selamat datang ke FixMate", + "onboarding.header": "Selamat datang ke CityPulse", "onboarding.title1": "Tangkap pantas", "onboarding.body1": "Ambil gambar dan hantar dalam kurang satu minit.", "onboarding.title2": "Peta yang jelas", @@ -104,7 +104,7 @@ "cta.continueGuest": "Teruskan sebagai Tetamu", "cta.signIn": "Log Masuk", "cta.skip": "Langkau buat masa ini", - "onboarding.header": "Selamat Datang ke FixMate", + "onboarding.header": "Selamat Datang ke CityPulse", "onboarding.title1": "Laporan Isu Pantas", "onboarding.subtitle1": "Pengesanan Berkuasa AI", "onboarding.body1": "Hanya ambil gambar mana-mana isu bandar - AI kami secara automatik mengenal pasti dan mengkategorikan masalah dalam beberapa saat.", diff --git a/assets/tokens/design-tokens.json b/assets/tokens/design-tokens.json index 4df7ebc..b866b08 100644 --- a/assets/tokens/design-tokens.json +++ b/assets/tokens/design-tokens.json @@ -1,6 +1,6 @@ { "meta": { - "name": "FixMate Design Tokens", + "name": "CityPulse Design Tokens", "version": "1.0.0", "brand": "Civic Premium – Citizen First" }, diff --git a/backend/Readme.md b/backend/Readme.md index 5dea550..5b21de0 100644 --- a/backend/Readme.md +++ b/backend/Readme.md @@ -2,7 +2,7 @@ Perfect πŸ‘ thanks for clarifying β€” let’s keep it **venv only**. I’ll adj --- -# πŸ› οΈ FixMate Backend – Hackathon Prototype +# πŸ› οΈ CityPulse Backend – Hackathon Prototype Smart citizen-driven urban maintenance platform powered by **Computer Vision + Generative AI**. This backend runs fully **locally** (no cloud required). diff --git a/backend/app/db/fixmate.db b/backend/app/db/fixmate.db index d1d9927..bff2e90 100644 Binary files a/backend/app/db/fixmate.db and b/backend/app/db/fixmate.db differ diff --git a/backend/main.py b/backend/main.py index d1ef0a3..f16aa24 100644 --- a/backend/main.py +++ b/backend/main.py @@ -16,18 +16,18 @@ logger = logging.getLogger(__name__) # ---------------------- @asynccontextmanager async def lifespan(app: FastAPI): - logger.info("Starting FixMate Backend...") + logger.info("Starting CityPulse Backend...") init_ai_service() # βœ… Models load once here logger.info("AI models loaded successfully.") yield - logger.info("FixMate Backend shutting down...") + logger.info("CityPulse Backend shutting down...") # ---------------------- # Initialize FastAPI # ---------------------- app = FastAPI( - title="FixMate Backend API", - description="Backend for FixMate Hackathon Prototype", + title="CityPulse Backend API", + description="Backend for CityPulse Hackathon Prototype", version="1.0.0", lifespan=lifespan ) @@ -80,7 +80,7 @@ except Exception as e: @app.get("/") def root(): - return {"message": "Welcome to FixMate Backend API! Visit /docs for API documentation."} + return {"message": "Welcome to CityPulse Backend API! Visit /docs for API documentation."} @app.get("/test") def test(): diff --git a/backend/plan.md b/backend/plan.md index 7fd4019..074c388 100644 --- a/backend/plan.md +++ b/backend/plan.md @@ -2,7 +2,7 @@ Perfect πŸ‘ Before I drop a full codebase, let’s agree on the **flow + plan** --- -# ⚑ Backend Flow (FixMate Local Prototype) +# ⚑ Backend Flow (CityPulse Local Prototype) ### 1. Citizen Upload Flow @@ -32,7 +32,7 @@ Perfect πŸ‘ Before I drop a full codebase, let’s agree on the **flow + plan** * Every report: * Pass image to model β†’ detect objects. - * Map objects to FixMate categories (`pothole`, `streetlight`, `trash`, `signage`). + * Map objects to CityPulse categories (`pothole`, `streetlight`, `trash`, `signage`). * Apply **severity scoring** (e.g. bounding box area = High if > certain %). * If model fails (no internet, missing weights): diff --git a/dashboard/app.js b/dashboard/app.js index 7c721f5..77f1cfd 100644 --- a/dashboard/app.js +++ b/dashboard/app.js @@ -430,7 +430,7 @@ const cycleStatus = async (reportId) => { return (
-
{t('dashboard.brand') || 'FixMate'}
+
{t('dashboard.brand') || 'CityPulse'}