RoomieRadar is a mobile application designed to help students at the National University of Singapore (NUS) find compatible roommates based on shared preferences, habits, and lifestyle choices. The app enhances the roommate-finding experience by using a sophisticated matching algorithm and also fosters community connections through features like in-app messaging and community boards.
This project was developed as part of the Orbital Program, NUS School of Computing's 1st-year summer self-directed, independent work course, aimed at helping students pick up software development skills on their own using online resources.
- User Authentication: Secure email login and account registration using Firebase Authentication.
- Profile Customization: Users can upload profile pictures, set usernames, and write introductions.
- Advanced Matchmaking: Find roommates based on gender, sleep schedules, cleanliness, housing preferences, and more.
- In-app Messaging: Real-time chat feature to connect with potential roommates.
- Community Board: Engage with the NUS student community by posting or interacting with events and announcements.
If you just want to quickly run the app:
-
Download the Expo Go App
-
Scan the QR Code
After downloading the Expo Go app, scan the QR code provided in the Expo link here with your device camera or within the Expo Go app. -
Enjoy the App!
If you want to set up the app for development or testing:
-
Install Dependencies
- Ensure you have Node.js installed.
- Install React Native CLI globally:
npm install -g react-native-cli
- Install Expo CLI globally:
npm install -g expo-cli
-
Clone the Repository
git clone https://github.com/JadeCheah/roomie-radar.git
-
Navigate to Project Directory
cd roomie-radar -
Install Necessary Packages
npm install npm install firebase @react-native-firebase/app @react-native-firebase/auth
-
Start the App
npx expo start
-
Run on Your Device
- Use the Expo Go app to scan the QR code shown in your terminal to load the app on your device.
For more details about the project, including:
- Technology Stack: Built with React Native, Expo, Firebase for authentication, and Firestore for database management.
- Testing Methods: Unit tests and manual testing for core features, including user authentication, profile management, and in-app messaging.
- Challenges and Solutions: Handling user state management, real-time updates, and optimizing performance for mobile platforms.
You can read the full Project Report for a deeper dive into the development process.
For any issues or inquiries, please reach out to:
- Telegram: @y9u7e (Jade Cheah) or @supermariio0 (Mariia Popova)
