Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

System Architecture

image

Overall User Flow Of The App

image

image

Here’s a shortened intro for Flinder along with clear steps to set up the project:


🏠 Flinder – Smart Roommate & Flat Finder

Flinder is a modern roommate matching app that uses AI, real-time chat, and a swipe-based interface to help users find compatible flatmates and apply for flats as a group. The platform blends Supabase for auth and real-time chat, Express.js for API orchestration, and a Flask-based ML engine for compatibility scoring based on user bios and lifestyle tags.


⚙️ Project Setup Guide

1. Frontend: Flutter App

Handles UI, user interactions, swipes, and real-time messaging.

  • Install Flutter: Flutter Docs
  • Clone the repo:
    git clone https://github.com/your-org/flinder-app.git
    cd flinder-app
    flutter pub get
  • Add environment config (.env) with:
    SUPABASE_URL=your-supabase-url
    SUPABASE_ANON_KEY=your-anon-key
    EXPRESS_API_URL=http://your-express-server
  • Run on emulator or device:
    flutter run

2. Backend: Express.js API Server

Orchestrates swipes, groups, chat logic, and talks to Supabase & ML engine.

  • Navigate to backend:
    cd flinder-backend
  • Install dependencies:
    npm install
  • Create .env:
    SUPABASE_URL=your-supabase-url
    SUPABASE_SERVICE_KEY=your-service-role-key
    ML_API_URL=http://localhost:5000
    PORT=3000
  • Start server:
    npm run dev

3. ML Engine: Flask + Docker

Extracts tags from bios, calculates compatibility scores.

  • Navigate to ML service:
    cd flinder-ml
  • Build & run Docker container:
    docker build -t flinder-ml .
    docker run -p 5000:5000 flinder-ml

4. Supabase Setup

Manages auth, users, chats, swipes, groups, and real-time messaging.

  • Create a project on Supabase
  • Enable:
    • Auth (email/password)
    • Realtime for messages, swipes, groups
  • Run SQL to create tables:
    • users, swipes, chats, messages, chat_members, groups, flats
  • Get your SUPABASE_URL and keys from project settings.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages