FlatMates is a modern iOS application designed to help users find compatible roommates through a streamlined matching process.
- Profile-based matching algorithm
- Preferences for smoking, pets, noise tolerance, and more
- Location-based roommate search
- Secure email/password registration and login
- Profile creation and management
- Password reset functionality
- Swipe-based matching interface
- Real-time chat functionality
- Modern, intuitive design
- Comprehensive onboarding process
- Customizable user profiles
- Profile picture upload
- Lifestyle preferences settings
- Location preferences
- Real-time chat with matches
- Message notifications
- Chat history management
- SwiftUI for UI components
- iOS 18.0+ support
- Firebase Authentication
- Firebase Firestore for database
- Firebase Storage for media
- iOS 18.0 or later
- Xcode 16.0 or later
- Firebase account for backend services
- Sign up for a new account
- Fill out all profile and preference information completely
- Log out of the first 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
- 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
- On the match page, tap "Go to Match"
- The app should navigate to the chatting page with the second user account
- Type and send several messages to the second user account
- Log out of the first 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
- Log back into the first user account
- Verify that the messages sent from the second user are visible and synced correctly
This project is licensed under the GNU Affero General Public License v3.0 - see the LICENSE file for details.
We welcome contributions to FlatMates! Please feel free to submit issues and pull requests.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Project Link: https://github.com/users/Anidion/projects/1/views/1
Developed with ❤️ by Anshi, Ben, Bradley, Jessie, Joey, Lilia, Nayera and Youssef.