Skip to content

FreshDealApp/FreshDealMobile

Repository files navigation

FreshDealMobile

FreshDeal Logo

GitHub Issues License: All Rights Reserved

Overview

FreshDeal is an innovative mobile platform that tackles food waste by connecting businesses with surplus food to consumers seeking affordable, high-quality meals. Our mission is to reduce food waste, provide budget-friendly meals, and promote sustainability, aligning with the UN's Sustainable Development Goals.

The project is a robust cross-platform application developed using React Native and Expo.

Technical Stack

Expo Redux React Native TypeScript

πŸš€ Getting Started

Prerequisites

  • Node.js (v16.x or later)
  • npm or yarn
  • Expo CLI
  • iOS Simulator (for Mac users) or Android Emulator

Installation

  1. Clone the repository
git clone https://github.com/FreshDealApp/FreshDealMobile.git
cd FreshDealMobile
  1. Install dependencies
npm install
# or
yarn install
  1. Start the development server
npm start
# or
yarn start
  1. Run on specific platform
# For iOS
npm run ios
# For Android
npm run android

πŸ“± Features and Functionalities

Consumer Features

  • User Registration and Login:
    • Create accounts using email or phone number.
    • Secure login options including passwordless methods.
  • Browse and Discover Deals:
    • Search for food deals by location.
    • View detailed listings with ratings and reviews.
    • Filter by categories, price, and distance.
    • View restaurant details, including menus, hours, and ratings.
  • Order Management:
    • Place orders directly through the app.
    • Order tracking and real-time updates.
    • Order history and reordering capability.
  • Feedback System:
    • Rate businesses and provide detailed reviews.
    • AI-powered sentiment analysis of reviews.
    • Report issues with orders, ensuring quality control.
  • Notifications:
    • Real-time alerts for new deals, order updates, and promotions.
    • Customizable notification preferences.
  • Favorites and Bookmarks:
    • Save favorite restaurants and deals for quick access.
  • Gamification and Rewards:
    • Earn points and achievements for sustainable actions.
    • Unlock badges and rewards for consistent engagement.
  • Chatbot Support:
    • Get instant assistance with common questions and issues.

Account Management

  • View and update personal information
  • Change passwords and security settings
  • Manage payment methods
  • Track sustainability impact
  • View achievement progress

πŸ—οΈ Project Structure

src/
β”œβ”€β”€ app.tsx                # Main application entry point
β”œβ”€β”€ assets/                # Static assets (images, fonts)
β”œβ”€β”€ features/              # Feature modules
β”‚   β”œβ”€β”€ accountScreen/     # Account management
β”‚   β”œβ”€β”€ CartScreen/        # Shopping cart
β”‚   β”œβ”€β”€ CheckoutScreen/    # Checkout process
β”‚   β”œβ”€β”€ homeScreen/        # Main dashboard
β”‚   β”œβ”€β”€ RestaurantComments/# Restaurant reviews
β”‚   └── ...
β”œβ”€β”€ hooks/                 # Custom React hooks
β”œβ”€β”€ middleware/            # Redux middleware
β”œβ”€β”€ redux/                 # State management
β”‚   β”œβ”€β”€ api/               # API interfaces
β”‚   β”œβ”€β”€ slices/            # Redux slices
β”‚   └── thunks/            # Async actions
β”œβ”€β”€ services/              # External services integration
β”œβ”€β”€ styles/                # Global styling
β”œβ”€β”€ types/                 # TypeScript type definitions
└── utils/                 # Utility functions

🚒 Deployment

Building for Production

  1. For iOS:
npm run build:ios
# or
yarn build:ios
  1. For Android:
npm run build:android
# or
yarn build:android

See iOS Build Guide and Android Build Guide for detailed instructions.

🌟 Project Achievements

  • Impactful Mission: Reduces food waste, promotes sustainability, and supports local businesses.
  • Cross-Platform: Available on Android, iOS, and web with optimized performance.
  • Gamification: Rewards users for sustainable practices, encouraging regular engagement.
  • AI-Powered: Uses machine learning for personalized recommendations and review analysis.
  • Scalable Architecture: Built with modular, maintainable code structure.

🀝 Contributing

We welcome contributions from the community! Please read our Contributing Guidelines before submitting pull requests. Make sure to also review our Code of Conduct.

Development Workflow

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. Open a Pull Request

πŸ“„ License

Copyright (c) 2024 Irfan Emre Utkan

All Rights Reserved.

This software is made publicly available for educational and demonstrative purposes only.
No permission is granted to copy, modify, distribute, or use any part of this software, including but not limited to code, designs, or documentation.

The software is provided "as is," without warranty of any kind.

πŸ“¬ Contact

Project Link: https://github.com/FreshDealApp/FreshDealMobile

πŸ™ Acknowledgements

About

Cross-platform Mobile Application to reduce food waste

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •