---
# System prepended metadata

title: Project Plan

---

# 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.