Skip to content
This repository was archived by the owner on Apr 27, 2025. It is now read-only.

thabetissam/FORSA

Repository files navigation

EatMore - Online Food Delivery App 🍔🍕🍜

EatMore is a feature-rich, innovative online food ordering website, built with ReactJS and powered by cutting-edge technologies like Redux Toolkit, GSAP for animations, and Firebase Authentication. The app offers a seamless and interactive user experience, enabling users to browse restaurants, customize their orders, and track their food deliveries in real-time.

Table of Contents

Features

  • Chatbot Powered by Dialogflow: Interactive chatbot providing real-time assistance within the app.
  • Shimmer UI: Modern and engaging UI featuring shimmer effects for loading states.
  • Live API Data from Swiggy: Real-time restaurant and menu data fetched using Swiggy's public API.
  • CORS Extension for API Access: Configured to handle Cross-Origin Resource Sharing (CORS) when fetching live data from Swiggy's public APIs.
  • Multi-Select Cuisines Filter: Filter restaurants based on multiple cuisine preferences.
  • Real-Time Email Notifications: EmailJS integration for sending real-time notifications and promotions.
  • Custom Accordion Components: Enhances the user interface by organizing content dynamically.
  • Cart Functionality: Add, review, and remove items from the cart, with the ability to customize orders.
  • Firebase Authentication: Secure login functionality with Firebase.
  • Online/Offline Status Indicators: Keeps users informed of the app’s current status.
  • Smooth Scroll & Animations: GSAP and ScrollTrigger are used to create smooth animations and transitions.

Technologies Used

  • Frontend: ReactJS, TailwindCSS
  • State Management: Redux Toolkit, Context API
  • Routing: React Router DOM
  • Styling & Animations: TailwindCSS, GSAP, ScrollTrigger
  • Email Service: EmailJS
  • Chatbot Integration: Dialogflow
  • Testing: React Testing Library, Jest
  • Build Tools: Parcel Bundler, Babel
  • Authentication: Firebase
  • UI Enhancements: React Hot Toast for notifications, Lensi for smooth scrolling effects

🔥Installation

You need to write the following commands on the terminal screen(in vscode) so that you can run this project locally.

  git clone "https://github.com/Subhashis-99/EatMore--A-web-based-online-food-delivery-app.git"

Go to the project directory

  cd EatMore--A-web-based-online-food-delivery-app

Install dependencies

    npm install

Start the server

    npm run start

For API keys and other sensitive data, create a .env file(optional) in the project root:

    REACT_APP_API_KEY = your_api_key
    REACT_APP_SWIGGY_API_URL = your_api_url

This application should now be running on localhost. This application should now be running on localhost. If you want to Fork repository and want to run locally, follow this guidelines Fork and Clone Github Repository.

Demo

You can explore the live version of the EatMore app by visiting: Live Demo. Here, you can browse restaurants, place orders, and experience the app's features in real-time.

Screenshots

Home Page

Home Page

Restaurant Page

Restaurant Page

Search Page

Search Page

Cart Page

Cart Page

Contact Page

Contact Page

LogIn Page

LogIn Page

Footer Page

Footer Page

FAQ Page

FAQ Page

Deployment

EatMore is deployed on Vercel for easy and scalable hosting. To deploy your own version:

  • Create a Vercel account if you don’t have one.

  • Connect your GitHub repository to Vercel.

  • Set your environment variables on Vercel (e.g., API keys, Firebase config).

  • Vercel will automatically deploy the project once connected, and your app will be live at the Vercel domain.

Contributing

Contributions to EatMore are always welcome! If you'd like to contribute, please follow these steps:

  • Click the "Fork" button at the top right of the repository page on GitHub.

  • Run the following command to clone your fork:

  git clone "git clone https://github.com/yourusername/eatmore.git" 
  • Create a new feature branch and switch to it
  git checkout -b feature/new-feature
  • Stage and commit your changes with a descriptive message:
  git add .
  git commit -m 'Add new feature'
  • Push your branch to your forked repository:
 git push origin feature/new-feature
  • Go to the "Pull Requests" section of the original repository and click "New Pull Request". Select your branch and submit the pull request for review.

Additional Information

  • For more detailed guidelines on how to contribute, refer to the contributing.md file in the repository.
  • Please adhere to this project's Code of Conduct. It helps ensure a welcoming and respectful environment for everyone involved.

Your contributions help make EatMore better for everyone. Thank you for your interest and effort in improving the project!

Support

For support, email spraharaj26@gmail.com.

You can also connect with me on LinkedIn for professional networking and updates.

Acknowledgements

A special thanks to Swiggy for providing live API data to enhance our platform.

License

This project is licensed under the MIT License. See the LICENSE file for more details.

MIT License