SaraDahman / Main-Thesis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Project Idea description.

The idea of the project came as a solution to the problem of wasted food from resturants by refactoring the food into valid meals for people such as college students, people who cant afford expensive food and to provide food for startups and small companies. Also, to prevent resturants from throwing away extra food. Another use for our website is to provide a platform for home businesses to manage the selling and displaying of their meals.

Features or use cases or user stories.

The two main Users of our webiste are a User or a client and a Business owner. The client can display the meals from the three nearest, cheapset or most rated resturants or any resturant on google maps. Also, select the prefered payment method alongside with the drop off location. Regarding business owners, they can open up their resturant pages where they can offer, delete or modify meals with notifications regarding the processes and all the status of their meals and customers. Features and use cases:

1- The visitor has the choice to either join us as a client or as a business owner. 2- For the client part, users are required to enter their sign up information. 3- As well as for the business part, but with different information. 4- The client will be redirected to a page with resturants suggestions . 5- When a resturant is clicked the website will show a menu containing meals. 6- The client can pick the meals with the amount and add it to the cart. 7- Clients can remove meals and orders from the carts. 8- Users can choose their preferred drop off location. 9- Clients can choose their preferred payment methods (cash or credit cards). 10- When the order is completed a notification reaches the resturant with the order details. 11- For the business part, they will be redirected to a page where they can add and delete meals. 12- Business owners can view their the orders and keep track of their state. 13- Business owners have to confirm orders and the user will get a notification stating that. 14- When the order is finished, is removed from the order list and added to the database for documentation purposes.

Technologies.

  • MERN ( MongoDB, Express, React, Node.js) stack for main structure.
  • Redux to handle the state.
  • TypeScript
  • Stripe to handle payments
  • Cloud saving
  • Google maps api
  • bcrypt and JWT for Authentication
  • Heroku for deployment
  • MaterialUI and symanticUI for front end components and styling
  • React router and react router dom for routing
  • Jest and Enzyme for front end. SuperTest for backend.

Database Schema.

https://docs.google.com/spreadsheets/d/1NF_ARc2szREsMQkFZjLMIDR6vYvuibly67yk19wE5o4/edit#gid=0

User Interfaces.

https://www.figma.com/file/kdjf0FyWH0HQBMQYJAo2gi/Untitled?node-id=0%3A1 (under development)

About


Languages

Language:JavaScript 84.1%Language:CSS 14.2%Language:HTML 1.7%