# Project Plan
All of the project required features will be included
This is our plan and the technologies we will use for the project .
***Theses are initial thoughts , everything may change and other stuff will be added***
## Architecture
We will use the microservices architecture which means dividing all the services for the project into standalone services .
## The Services :
## Database
We will use no-sql ```mongodb``` database for storing everything.
***All tables has a foreign key for a specific restaurant***
### Tables
#### Users
- Owner
- User
- Admin
#### Restaurants
- Restaurant
- Opening Time
- Tax Message ******
- Payment Method
- Food Categories
- Food
- Extra Categories
- Extra
- Zone
- Offer
- Website Assets
#### Order
- Order
- Checkout
## API
We will build an API for handling all the requets to query and store information in all of the tables in the database , Using ```django-rest-api``` framework.
## Notification Server
This will be a small server to handle the notification stuff (probably in ```node.js```)
## Image Server
to host all the images .
## Front-End Web
We will use ```React.js``` with PWA for mobile support and build a:
- Landimg Page For the main website ??
- dashboard for the admin.
- dynamic dashboard for restaurants owners.
- dynamic template for the restaurants websites .
## Front-End Mobile
We will use ```react native or flutter``` to build a:
- orders taking app for restaurants
- drivers control app
## Infrastructure
We Will Use Google Cloud to build all the microservices.
## ETA
4 - 5 Months for all the features required.