Skip to content

FoodTime is a web application ordering platform that allows users to buy fresh and healthy food from anywhere in the world. It offers a full range of delivery solutions built by restaurant people, for restaurant people.

License

Notifications You must be signed in to change notification settings

ZahariCheyrekov/food-time

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

FoodTime

You can visit the project from here: https://food-time-4e006.web.app/

Table of Contents

About this project

FoodTime is a web application ordering platform that allows users to buy fresh and healthy food from anywhere in the world. It offers a full range of delivery solutions built by restaurant people, for restaurant people.

Design

The amazing design was provided by Figma and Chiranjit Hazarika specificly.

How to run the app on your computer

  1. You can download the project ZIP file or you can clone the repository directly.
  2. Open the project with IDE/Code Editor.
  3. Open terminal with Ctrl + J.
  4. Navigate to food-timer folder with cd foodtime.
  5. Then navigate to client folder with cd client.
  6. Install all modules that are listed on package.json file and their dependencies.
  7. Type npm start to run the project in the browser. It will start on http://localhost:3000, but you can change it to another if necessary. Type y to do it.

Features

  • Authentication

    • Login

      • log in with existing account
    • Register

      • create new account
  • Cities

    • City
      • browse cities
      • view cities
      • create new city
  • Review

    • User

      • browse meal reviews
      • create review
    • Guest

      • browse meal reviews
  • Meal

    • Author

      • view meal
      • read meal
      • create meal
      • delete meal
      • review on meal
    • User

      • view meal
      • read meal
      • like meal
      • review on meal
  • Profile

    • Author
      • view created meals
      • view liked meals

Future Features

  • Connections

    • Followers

      • follow user
      • unfollow user
      • block user
      • unblock user
    • Following

      • see who follows you
      • remove user from followers
      • block user
      • unblock user
  • Chat

    • send message to user or restaurant
  • Discussions

    • start discussion
    • invite users to discussion
    • join discussion
  • Giveaway

    • create meal giveaway
    • enter meal giveaway
    • invite to giveaway
  • Blog

    • start meal blog
    • explore other people blogs

Project Structure

  • Client

    • auth
      • login - login component for user authentication
      • register - register component for user authentication
    • core
      • guards
        • auth guard - navigates users to the login component if they are not authenticated
        • not auth guard - navigates users to the home component if they try to access login or register routes
      • interfaces
        • folder that stores all of the application interfaces
      • services
        • auth - responsible for making login or register request to the server
        • city - responsible for accessing City model and manipulating the data
        • local storage - responsible for storing user data and tokens in the browser application tab
        • meal - responsible for accessing Meal schema model and CRUD operations related to meals
        • review - responsible for accessing Review schema model and creating reviews on meal
        • upload - responsible for uploading image files to the Cloudinary and returning the corresponding data
        • user - responsible for User model and CRUD operations related to user and data of it
      • features
        • cart - it handles logic related to user meals in the cart
        • cities - responsible for each city and functionality about restaurants in the current city
        • pages
          • home
          • about
          • not found
        • profile - handles logic and display data of the logged user and created/liked meals
      • shared
      • footer - the footer part of the applicaiton
      • navigation - the navigation of the applicaiton
      • spinner - spinner component that is displayed when the data is not yet loaded
    • assets
    • images - stores images associated to the application
    • styles - stores scss files that are used globally by one or more components/modules
  • Server

    • config - folder for files used to configure the application
    • constants - all of the project constant variables
    • controllers - used to handle request data from the client and make calls to the database models with the help of services
    • models - stores MongoDB schema models
    • routes - contains various application routes
    • services - responsible for accessing MongoDB schemas and manipulating data

Tools

Application Pictures

Desktop

food-time-home

food-time-cities

food-time-city-details

food-time-profile

food-time-cart

food-time-signup

Mobile

food-time-mobile-home

food-time-mobile-cities

food-time-mobile-city-details

food-time-mobile-profile

food-time-mobile-cart

food-time-mobile-signup

About

FoodTime is a web application ordering platform that allows users to buy fresh and healthy food from anywhere in the world. It offers a full range of delivery solutions built by restaurant people, for restaurant people.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published