Project Car Request Services
Car request application support a variety of services involving request car services like renting, ride share, deliver services, car messenger services and buying/selling cars including unique cars. From these services your team needs to implement at least 2 car request services. Once you decide on the services you need to start planning for understanding the requirements and documenting them in Phase I of the application along with a detailed design/architecture for the intended solution.
Common Application Features
All teams must implement the User Management and Customer Management (Customer Management Module) a customer is an entity that uses the services of the application either as a provider or a consumer.
- User Management Module (Security):
This module deals with access control to the application (login, registration):
- Type of users – Consumers, Providers and Admin
- Login – Either
- Using Email ID/ Mobile number and an authentication text message to the registered numbers during login. These details are stored in application’s database.
- Using other authentications such as social media such as Facebook, Gmail, Google+ etc.
- Customer Management Module:
a customer could be a user that list services (service provider) or a user that uses/buys these services.
- Billing Module
this module deals with charges and payments. A charging algorithm is part of the module and is dependent of the services implemented (item 4 below).
- List of Car functionalities to be included in the application (pick 2 services):
- Rent (Taxi) – Uber
- Ride – Rent RV(TORO), Rent Sport Car, Zip Car
- Pickup Staff ( Messenger Services)
- Car Delivery
- Car Dealer (listing cars for sale)
- Mechanic Services (oil change, brake inspections, etc.)
- Parts Services (buy/sell).
- Car/truck shipping services (ship a car from Location A to Location B).
Phase 1 (Requirements and High Level Design)
In phase 1 the team needs to focus on eliciting and documenting the requirements for the application. You should focus on “WHAT” are the main functionality of the application and how these functionaries (services) are provided. The following makes up the deliverable of Phase 1:
- Requirement Specification Document (RSD) – includes Communication, Estimation and Project Management.
- Using Unified Modeling Language use case standards develop a detailed Use Case Diagram that captures how users of the application uses the application.
- Requirements table. You should capture the required ID, Description, Version and Priority (High, Low and Medium).
- Design Phase
the main goal for this iteration is understating the overall architecture of the solution and the focus will shift from “WHAT” to “HOW” the application is going to be developed.
- Build an Architecture (for example using MVC). Mention all the modules of the application in the architecture. These modules should be reusable.
- Database Design -tools to capture database design such as Entity Relationship Diagram. Output of this will be an SQL command. Use an online tool to develop such a diagram (http://erdplus.com )
- UML Class Diagram – show the structure of all classes including hierarchy of the classes, interfaces etc.
- High level architecture diagram: Boxes and lines of all modules showing how they interconnect.
Phase 2 (Implementation)
the application needs to be developed in this phase based on the requirement and design decision presented in Phase 1. In this phase the focus is on the actual implementation including data structures, web services, algorithms, database implementation and framework selection (ORM for example).
You must use JEE 7/8 as the development platform and there are no requirement on the choice of database used (Oracle, SQL Server, and MySQL are encouraged).
- Complete Application Development
your team must use an online code management platform like git Hub.
- Team Demo