A modern delivery App
"How to safe a Food?" - Lay Herman
Why • Tech Stack • Contributing • About Me
Tereza's beer distributor is getting computerized! rocket Your business, previously focused on a specific location in the city, started to receive a massive amount of orders from other points, expanding its operations, especially via delivery. This is all thanks to the excellent price of drinks and service from the sales team.Now the distributor has some points of sale in the city to speed up service in these areas. Each point of sale, in turn, has a responsible salesperson.
As her old system, which was a set of spreadsheets, no longer meets the business needs, as it generates a lot of maintenance, Dona Tereza turned to her team of developers with an idea for an application that could speed up the lives of her team and people. who buy your products. The app needs:
-
Access via login: both customers and salespeople, as well as Tereza herself, who manages the system, must have access to the application via login, but for different functions:(1) The customer, who buys from the list of products; (2) The selling person, who approves, prepares and delivers; (3) The admin person, who manages who uses the application;
-
Make communication between customers and salespeople: the customer person places the order via "shopping cart" and the salesperson approves, prepares and sends this order. When the product is received by the purchaser, that person marks the order as "received". Both must have details about their orders;
-
Work in real-time: Orders/order details screens should be updated in real-time as these interactions take place. If the customer person places the order, it should appear to the sales person in their order dash without them needing to refresh the page. The customer, in turn, must have the information about their order also updated in real time, that is, have information if the order is being prepared or if it has already left for delivery;
The proposal enchanted, but Dona Tereza wants to see the business in action! She's willing to pay for a project MVP, and you've closed the deal with a 10-day turnaround time.
Now it's hands to work! Let's start?
and much more...
-
Common Flow that embrase:
-
Customer Flow that embrase:
-
Seller Flow that embrase:
-
Administrator Flow that embrase:
-
General Page that embrase:
- Node(Optional):
^14.16.1
or higher. - Npm(Optional):
8.3.0
or higher. - Git(Optional):
2.25.1
or higher. - Docker(Optional):
20.10.12
or higher.
Clone the project from Github :
$ git clone git@github.com:murilorsv14/Delivery-App.git
$ cd Delivery-App
If you have docker installed, you can run with:
$ docker-compose up
Pre-requisites If everything is ok, you will be able to open at:
http://localhost:3000
$ cd src/back-end
$ npm install
$ npm start
$ cd src/front-end or ../back-end
$ npm install
$ npm start
If everything is ok, you will be able to open at:
http://localhost:3000
- Improve security change md5 for bcrypt hash
- Deploy on heroku
- Feature: quantity item in Products Page
- Improve tests for 90% coverage
- Implements atomic design in Front-end
This project is for study purposes too, so send me an email telling me what you are doing and why you are doing it, teach me what you know
All kinds of contributions are very welcome and appreciated!
- ⭐️ Star the project
- 🐛 Find and report issues
- 📥 Submit PRs to help solve issues or add features
- ✋ Influence the future of Delivery-App with feature requests
To learn how to contribute, read the Contributing Guide before making the pull request.
To learn a little more about the implemented architecture, read the Architecture Design.