Roomie is an app designed to help roommates with their daily routines. Just invite all of your roommates to the shared group, and Roomie will assist you in organizing and managing common chores by automatically scheduling and assigning tasks. Every member of the group can modify or add new activities, and they will automatically be synced.
“Good roommates transform living spaces into havens of harmony and shared joy.”
Roomie was built using SwiftUI to create a visual interface. UIKit, along with ColorKit (external library), is used to analyze the color content of images and extract the dominant colors from emojis.
CoreData, along with CloudKit, is used to store and synchronize activities and facilitate collaboration between different participants in the house. Roomie is integrated into Apple’s ecosystem, allowing you to invite your roommates by copying the link to the created house or by sending an invitation to the iMessage group, so that everyone in the group will automatically receive it.
All participants in the house can mark activities as completed, modify and adjust schedules for activities, as well as create new activities. You can create several separate houses (groups) with different participants to manage your activities.
The app uses OpenAI’s gpt-3.5-turbo-0125
API to automatically determine an appropriate emoji that would represent the activity's name. For example:
- "Throw Plastic" → 🥤
- "Water Flowers" → 🌸
Roomie includes full localization for four languages:
- 🇺🇸 English
- 🇪🇸 Spanish
- 🇮🇹 Italian
- 🇺🇦 Ukrainian
Roomie incorporates accessibility features to assist our users, including support for VoiceOver and light / dark modes.
- iOS 17.0+
- Xcode 15.0+
-
Clone repository using the following URL:
https://github.com/BortoAle/Roomie.git
-
Create Environment File:
- Create a file named
.env
in the root directory of the source folder. - Use the provided
.env.example
file as a template.
- Create a file named
-
Replace the placeholder values with your specific configuration:
- OPEN_AI_API_KEY: Your OpenAI API key obtained from OpenAI website
-
In the Signing & Capabilities of the project create a new iCloud Container. The iCloud Container's bundle identifier should be the same as bundle identifier of the app.
Example app bundle identifier:
com.example.Roomie
Example iCloud Container bundle identifier:
iCloud.com.example.Roomie
-
Build and run the project in Xcode.
- ColorKit - UIKit library to find the dominant colors of an image.
Distributed under the MIT license. See LICENSE for more information.
Developed with ❤️ by {undefined} Team