Skip to content

Easily find a roommate by matching with people nearby

License

Notifications You must be signed in to change notification settings

Anidion/flatmates

Repository files navigation

FlatMates - iOS Roommate Matching App

FlatMates is a modern iOS application designed to help users find compatible roommates through a streamlined matching process.

Features

Smart Matching System

  • Profile-based matching algorithm
  • Preferences for smoking, pets, noise tolerance, and more
  • Location-based roommate search

User Authentication

  • Secure email/password registration and login
  • Profile creation and management
  • Password reset functionality

Interactive UI

  • Swipe-based matching interface
  • Real-time chat functionality
  • Modern, intuitive design
  • Comprehensive onboarding process

Profile Management

  • Customizable user profiles
  • Profile picture upload
  • Lifestyle preferences settings
  • Location preferences

Messaging System

  • Real-time chat with matches
  • Message notifications
  • Chat history management

Technical Stack

Frontend

  • SwiftUI for UI components
  • iOS 18.0+ support

Backend

  • Firebase Authentication
  • Firebase Firestore for database
  • Firebase Storage for media

Requirements

  • iOS 18.0 or later
  • Xcode 16.0 or later
  • Firebase account for backend services

Test Instructions for Submission

Create the first account:

  • Sign up for a new account
  • Fill out all profile and preference information completely
  • Log out of the first account

Create the second account:

  • Sign up for another account
  • Fill out all profile and preference information entirely
  • Swipe right on the first account to express interest
  • Log out of the second account

Match the accounts:

  • Log into the first account
  • Swipe right on the second account to create a match
  • Expect to see a match page displaying the connection between the accounts

Initiate a conversation:

  • On the match page, tap "Go to Match"
  • The app should navigate to the chatting page with the second user account

Test sending messages (First account):

  • Type and send several messages to the second user account
  • Log out of the first account

Verify message reception (Second account):

  • Log into the second user account
  • Check if the messages sent from the first account have been received
  • Log out of the second account

Confirm message sync (First account):

  • Log back into the first user account
  • Verify that the messages sent from the second user are visible and synced correctly

License

This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.

Contributing

We welcome contributions to FlatMates! Please feel free to submit issues and pull requests.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

Contact

Project Link: https://github.com/users/Anidion/projects/1/views/1


Developed with ❤️ by Anshi, Ben, Bradley, Jessie, Joey, Lilia, Nayera and Youssef.

About

Easily find a roommate by matching with people nearby

Resources

License

Stars

Watchers

Forks

Languages