-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
doc: add documentation about the project
- Loading branch information
1 parent
902c31a
commit 5e0a60a
Showing
5 changed files
with
167 additions
and
3 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,8 +1,44 @@ | ||
[![Java CI with Maven](https://github.com/helisfreitas/my-delivery-quarkus/actions/workflows/maven.yml/badge.svg)](https://github.com/helisfreitas/my-delivery-quarkus/actions/workflows/maven.yml) | ||
|
||
# My Delivery App project | ||
|
||
This project uses Quarkus, the Supersonic Subatomic Java Framework and Angular Front End | ||
The *My-Delivery* app, a demo Application for just Study Purposes, is designed to be a general-purpose food delivery platform, similar to iFood. | ||
|
||
This project uses Quarkus, Java Framework and Angular, FrontEnd Framework. | ||
|
||
If you want to learn more about: | ||
|
||
- Quarkus, please visit its website: https://quarkus.io/. | ||
- Angular, please visit its website: https://angular.dev/. | ||
|
||
## Specifications | ||
|
||
[Spec 1](/docs/specs/SPEC1.md) | ||
|
||
## Developer Mode | ||
|
||
### Cloning the application | ||
|
||
git clone https://github.com/helisfreitas/my-delivery-quarkus.git | ||
cd /my-delivery-frontend-angular | ||
git submodule init | ||
|
||
### Running the application | ||
|
||
- Running each module separately | ||
|
||
1. my-delivery-registration (Restaurant Management) | ||
|
||
See: [Instructions](/my-delivery-registration/README.md) | ||
|
||
2. my-delivery-marketplace | ||
|
||
See: [Instructions](/my-delivery-marketplace/README.md) | ||
|
||
3. my-delivery-frontend-angular | ||
|
||
If you want to learn more about Quarkus, please visit its website: https://quarkus.io/ . | ||
See: [Instructions](/my-delivery-frontend-angular/README.md) | ||
|
||
## Reference links | ||
|
||
- [Git Submodule](https://git-scm.com/book/en/v2/Git-Tools-Submodules) |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
@startuml | ||
title My-Delivery System Architecture | ||
|
||
package "Web Clients" { | ||
[User Client\n(Angular App)] | ||
} | ||
|
||
package "Backend Quarkus" { | ||
[Authentication Service] | ||
[Restaurant Management Service] | ||
[Marketplace Service] | ||
[Delivery Service] | ||
} | ||
|
||
package "Database Layer" { | ||
[PostgreSQL] | ||
[MongoDB] | ||
} | ||
|
||
package "External Integrations" { | ||
[Maps API] | ||
[SMS/Email Service] | ||
} | ||
|
||
package "Infrastructure" { | ||
[Load Balancer] | ||
[Message Queue] | ||
} | ||
|
||
' Define interactions between components | ||
[User Client\n(Angular App)] --> [Authentication Service] | ||
[User Client\n(Angular App)] --> [Restaurant Management Service] | ||
[User Client\n(Angular App)] --> [Marketplace Service] | ||
[User Client\n(Angular App)] --> [Delivery Service] | ||
|
||
[Marketplace Service] --> [PostgreSQL] | ||
[Marketplace Service] --> [MongoDB] | ||
[Restaurant Management Service] --> [PostgreSQL] | ||
[Delivery Service] --> [MongoDB] | ||
|
||
[Delivery Service] --> [Maps API] | ||
[Marketplace Service] --> [SMS/Email Service] | ||
|
||
[User Client\n(Angular App)] --> [Load Balancer] | ||
|
||
[Marketplace Service] --> [Message Queue] | ||
@enduml |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,81 @@ | ||
# SPEC-1: My-Delivery App (Demo Application for just Study Purposes) | ||
|
||
## Background | ||
|
||
The *My-Delivery* app is a demo app designed to be a general-purpose food delivery platform, similar to iFood. It will allow users to browse local restaurants, place orders, and track deliveries in real time. The platform will cater to a wide audience, connecting customers with a variety of cuisines. Both restaurants and delivery personnel will have dedicated interfaces to manage their services efficiently. | ||
|
||
## Architecture Design | ||
|
||
![System Architecture](../diagrams/out/architecture/systemdiagram.png) | ||
|
||
## Requirements | ||
|
||
The requirements for *My-Delivery* are broken down according to the MoSCoW prioritization model: | ||
|
||
### Must Have | ||
|
||
1. **Restaurant Listings** | ||
- A searchable, filterable list of restaurants based on location, cuisine, and ratings. | ||
- Restaurant profiles including details such as menus, ratings, operating hours, and contact information. | ||
|
||
2. **Menu Items Listings** | ||
- A searchable, filterable list of Menu Items based on category, restaurants. | ||
|
||
3. **Restaurant Management (Admin Dashboard for Restaurants)** | ||
- Restaurants can register and create their profiles. | ||
- Restaurant owners can add, modify, or remove menu items, and set prices. | ||
- Update product availability and business hours in real-time. | ||
|
||
4. **Menu and Order Management** | ||
- Customers can browse restaurant menus and add items to their carts. | ||
- Support for order customization (special instructions, portion sizes, etc.). | ||
|
||
5. **Order Placement** | ||
- Comprehensive order summary showing price breakdown, delivery fees, and time estimates. | ||
- Payment manually on delivery. | ||
|
||
### Should Have | ||
|
||
1. **User Registration & Authentication** | ||
- Users can register and log in using email or social media accounts. | ||
- User profile management features (name, contact information, etc.). | ||
|
||
2. **Push Notifications** | ||
- Real-time updates on order status and promotional offers. | ||
|
||
3. **Promotions & Discounts** | ||
- Allow restaurants to offer discount codes, and users to apply promo codes during checkout. | ||
|
||
4. **Customer Support Chat** | ||
- In-app support for customer queries and issues. | ||
|
||
5. **Order History** | ||
- Users can view and reorder from their past orders. | ||
|
||
6. **Real-time Order Tracking** | ||
- Track the order status (preparing, dispatched, delivered) with live delivery tracking via map integration. | ||
|
||
7. **Ratings and Reviews** | ||
- Customers can review both the restaurant and the delivery personnel. | ||
- Display average ratings and reviews on restaurant profiles. | ||
|
||
8. **Delivery Person Interface** | ||
- Dedicated app or interface for couriers to view and accept deliveries. | ||
- Navigation integration to assist delivery personnel in reaching destinations. | ||
|
||
9. **Payment Service** | ||
- System of payment service for customers with multiple payment options including credit/debit cards and Digital wallet. | ||
- Integration for external payment services such as PayPal | ||
|
||
### Could Have | ||
|
||
1. **Loyalty Program** | ||
- Reward customers for repeat orders with points or discounts. | ||
|
||
2. **Scheduled Orders** | ||
- Allow users to place an order for a future time or date. | ||
|
||
### Won't Have (for MVP) | ||
|
||
1. **Table Reservations** | ||
- Features allowing users to reserve tables at restaurants will not be included in the initial version. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters