/Roomie

Primary LanguageSwiftMIT LicenseMIT

Logo

Roomie

SwiftUI SwiftUI SwiftUI SwiftUI SwiftUI

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.

GIF

Description

“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.

Invite roommates to the group

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.

Add and manage common chores

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.

AI powered emoji matching

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.

Requirements

  • iOS 17.0+
  • Xcode 15.0+

Installation

  1. Clone repository using the following URL: https://github.com/BortoAle/Roomie.git

  2. 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.
  3. Replace the placeholder values with your specific configuration:

  4. 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

  5. Build and run the project in Xcode.

Dependencies

  • ColorKit - UIKit library to find the dominant colors of an image.

Credits

Distributed under the MIT license. See LICENSE for more information.

Developed with ❤️ by {undefined} Team