RecipEAT is a mobile application designed for food enthusiasts to share, discover, and organize recipes. This social recipe sharing platform allows users to create profiles, upload recipes, save favorites, plan meals, and generate recipe lists and their details - all while connecting with a community of fellow food lovers.
- User Authentication: Secure sign-up/login with email/password or Google Gmail
- Recipe Management:
- Create, edit, and publish recipes with an image
- Auto sort recipes
- Save recipes
- Like favorite recipes
- Meal Planning:
- Create weekly/daily meal plans
- Add/Remove recipes to specific dates and meal categories
- Search existing recipes to add to meal plan
- Add notes
- Profile:
- Update username and password (except for Gmail)
- Upload/change profile photo
- Modern SwiftUI interface with custom components
- Firebase backend integration:
- Firestore for data storage
- Firebase Authentication
- Firebase Storage for images
- State management with ObservableObject pattern
- Rive animations for engaging UI elements
RecipEAT/
├── AppServices/
│ ├── Application.swift
│ ├── MealPlanService.swift
│ ├── RecipeService.swift
│ ├── UserFirebaseService.swift
├── Assets.xcassets/
├── Fonts/
├── Models/
│ ├── MealPlanModel.swift
│ ├── RecipeModel.swift
│ ├── ReviewModel.swift
│ ├── UserModel.swift
├── Preview Content/
├── RiveAssets/
├── Styles/
├── Views/
│ ├── Auth/
│ │ ├── AuthenticationView.swift
│ │ ├── InitialView.swift
│ │ ├── SignInView.swift
│ │ ├── SignupView.swift
│ ├── Home/
│ │ ├── HomeScreen.swift
│ ├── MealPlan/
│ │ ├── AddMealScreen.swift
│ │ ├── MealPlannerScreen.swift
│ ├── Profile/
│ │ ├── ChangeNameScreen.swift
│ │ ├── ChangePasswordScreen.swift
│ │ ├── ProfileScreen.swift
│ ├── Recipe/
│ │ ├── CreateNewRecipeScreen.swift
│ │ ├── PersonalRecipeScreen.swift
│ │ ├── RecipeCard.swift
│ │ ├── RecipeDetails.swift
│ │ ├── RecipeScreen.swift
│ ├── OnboardingView.swift
├── ContentView.swift
├── GoogleService-Info.plist
├── Info.plist
├── RecipEATApp.swift
├── RecipEAT.xcodeproj/
├── .gitignore
├── README.md
- Xcode 16.2+
- iOS 18.2+
- Firebase account (Create one here)
- Swift Package Manager (Built into Xcode)
- GoogleService-Info.plist configuration file from Firebase
-
Clone the repository:
git clone https://github.com/tuanh00/RecipEAT
-
Navigate to the project directory: cd RecipEAT
-
Add Firebase dependencies
-
Open RecipEAT.xcworkspace in Xcode
-
Add your Firebase configuration files (GoogleService-Info.plist)
-
Build and run the project
- FirebaseAuth
- FirebaseCore
- FirebaseFirestore
- FirebaseStorage
- GoogleSignIn
- GoogleSignInSwift
- RiveRuntime
- Huynh Tu Anh Chau
- Hazel Clarisse Connolly
- Queen Sarah Anumu Bih