You can visit the project from here: https://food-time-4e006.web.app/
- About this Project
- Design
- How to run the app on your computer
- Features
- Future Features
- Project Structure
- Tools
- Application Pictures
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.
The amazing design was provided by Figma and Chiranjit Hazarika specificly.
-
Here you can find more about the design: FoodTime Design
-
You can contact Chiranjit Hazarika from here: Chiranjit Hazarika Liktree
- You can download the project ZIP file or you can clone the repository directly.
- Open the project with IDE/Code Editor.
- Open terminal with
Ctrl + J
. - Navigate to food-timer folder with
cd foodtime
. - Then navigate to
client
folder withcd client
. - Install all modules that are listed on
package.json
file and their dependencies. - Type
npm start
to run the project in the browser. It will start onhttp://localhost:3000
, but you can change it to another if necessary. Typey
to do it.
-
Authentication
-
Login
- log in with existing account
-
Register
- create new account
-
-
Cities
- City
- browse cities
- view cities
- create new city
- 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
- Author
-
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
-
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
- guards
- assets
- images - stores images associated to the application
- styles - stores scss files that are used globally by one or more components/modules
- auth
-
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