Skip to content

WTF-Write-The-Future/YouOptimal

Repository files navigation

YouOptimal Logo

🌍 YouOptimal

Smart City-Ranking & Relocation Analytics Platform

Flutter Python Supabase GitHub Actions


📖 About the Project

YouOptimal is an intelligent, cross-platform ecosystem designed for analyzing and comparing cities worldwide. Forget about keeping dozens of tabs open to research your next destination: we aggregate real-time data on climate, safety, rent costs, and real user experiences into a single, seamless neomorphic interface.

📍 Main Dashboard

YouOptimal Main Screen

✨ Key Features

  • Dynamic Currency Conversion: Real-time exchange rate updates (UAH, EUR, USD) fetched via the National Bank of Ukraine (NBU) API and seamlessly integrated into the UI.
  • Automated Data Engineering: CRON-triggered Python scripts run via GitHub Actions to synchronize climate metrics via OpenWeather API twice a day.
  • Interactive Analytics & Reviews: Calculation of average city scores based on detailed, expandable user reviews (covering Safety, Architecture, and Culture).
  • Cross-Platform Consistency: A single, responsive codebase tailored perfectly for Web, iOS, and Android platforms using advanced layout constraints.

📊 Detailed City Analytics & Reviews

YouOptimal City Details

🏗 System Architecture

Our platform utilizes a modern Serverless + Monorepo approach, completely isolating the reactive client UI from background automated data pipelines.

graph TD
  subgraph Frontend ["📱 Client Layer (Flutter / Dart)"]
    UI[Neomorphic User Interface]
    State[State Management / ValueNotifier]
  end

  subgraph Backend ["🗄️ Backend Cloud (Supabase)"]
    Auth[GoTrue Authentication]
    DB[(PostgreSQL Database)]
  end

  subgraph Pipelines ["⚙️ Automated Pipelines (GitHub Actions)"]
    WeatherBot[update_metrics.py]
    CurrencyBot[update_rates.py]
  end

  subgraph ExternalAPIs ["🌐 External Data Provider APIs"]
    OpenWeather[OpenWeather API]
    NBU[National Bank of Ukraine API]
  end

  UI <--> State
  State <-->|User Session Management| Auth
  State <-->|Fetch Cities & Read-Write Reviews| DB
  
  WeatherBot -->|Fetch Weather JSON| OpenWeather
  CurrencyBot -->|Fetch Daily Rates| NBU
  
  WeatherBot -->|Update Live Metrics| DB
  CurrencyBot -->|Update Cross Exchange Rates| DB
Loading

🚀 How to Run Locally

  1. Clone the Monorepo:

    git clone [https://github.com/WTF-Write-The-Future/YouOptimal.git](https://github.com/WTF-Write-The-Future/YouOptimal.git)
    cd YouOptimal
  2. Configure Environment Variables: Create a file named env (without extension) in the root directory and populate your Supabase configuration:

    SUPABASE_URL=[https://your-project-id.supabase.co](https://your-project-id.supabase.co)
    SUPABASE_ANON_KEY=your-public-anon-key
  3. Launch the Application:

    flutter clean
    flutter pub get
    flutter run

👥 The "WTF" (Write The Future) Team

  • Oleksandr Tseniuk — Frontend Developer
  • Ostap Tutyn — Team Lead & Backend Developer
  • Bozhena Schur — UI/UX Designer
  • Ostap Bakhurskyi — Full-Stack Developer
  • Vitaliy Malevych — Backend Developer
  • Oksana Datskiv — QA Engineer

About

Smart cross-platform city-ranking & relocation analytics platform built with Flutter, Python, and Supabase.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors