Abuad Deliveries Web App
Group Members
OMORUYI DAVID OHUOBA - 20/ENG02/071
ADENIYI TOLULOPE GBOYEGA - 18/ENG02/008
ALANZA IJEOMA SHALOM - 18/SCI01/016
BITRUS JESSE JOSHUA - 19/ENG02/028
ABU DANIEL BABA - 18/ENG02/003
SAKA-SHENAYON OLANREWAJU - 18/ENG02/086
ETOK. NSIBIET-ABASI EDEM - 18/ENG02/028
IFIDI JOSHUA TENADOU - 18/ENG02/44
OGAR ADALIKWU -18/ENG02/069
Introduction
Abuad deliveries is a web application designed to allow users and drivers to sign up, log in, make deliveries and keep track of the status of the package. The web app will allow drivers receive delivery request from users and also allow users make delivery request, make payment and monitor the status of delivery
Abuad deliveries was developed using
MERN (MongoDB, Express, React and Node)
Html and CSS
Users
Driver
Student
Admin
Admin
Driver
Costumer
Development Process
The development process used was the Agile method
Agile software development refers to a group of software development methodologies based on iterative development, where requirements and solutions evolve through collaboration between self-organizing cross-functional teams.
Analysis and design
USE CASE DIAGRAM
A use case diagram is a graphical depiction of the interaction among a system, often used in system analysis to identify, clarify and organize system requirements
USE CASE DIAGRAM
Implementation
Front-end Development
After the aesthetic designs were made, they were implemented by the front-end team which made use of React, Redux, and CSS. React was used as the library that provided jsx components that allowed us to write HTML structured code in a more efficient way. Redux was used to manage the global state of the website which contributed to the authentication and authorization system, payment system (with Paystack), mailing services, and tracking features. Lastly, vanilla CSS was used to design the website with animations and transitions to keep the users engaged.
Implementation
Backend Development
Node,js, Express, and custom REST APIs were utilized to make our application dynamic. With the server built from scratch on the node.js and express framework, custom REST APIs were built to allow interaction with the front end and the NoSQL Mongo DB Atlas Cloud database sending and receiving requests between the client and the server (which in turn queried the database)
Devops
DevOps
For scalability reasons, a PaaS cloud-based cloud hosting platform was utilized - Heroku. Heroku is built on the Amazon EC2 Elastic Beanstalk technology (The leading cloud service platform in the industry). This allowed for higher performance and increased scalability for the software.
System Architecture
user
Delivery app
driver
Database
Retrieve Orders
Admin
Tracking System
Testing
Testing is vital for the success of any software no system is perfect . Testing is also carried in two phases .first phase is during software engineering and the final phase after the software is completed. This system testing verifies that the whole set of programs hanged together.
Testing Result
The tests carried out during the coding process was unit testing using jest enzyme carried out by the coder.
Integration and system tests were also carried out during the development process
Apart from the tests carried out during the development process, after the project was concluded a functionality test was manually carried out by the tester.
Some non functional tests like load test using jmeter, performance and speed test using google chrome’s lighthouse tool.
Challenges Faced
Cost of Hosting
Difficulty in Collaboration
Some Members had to freshly learn the programming language from scratch
THANK YOU!!!!