ProgSD Team Project Specification 2023
E-Vehicle Share System
Objective
Your task is to create a software system to support an electric vehicle share programme. You need to create a functioning end-to-end prototype and demonstrate it with appropriate data. Your product is meant to provide an interface for customers to reserve and return vehicles and to pay their bills; for operators to assess the state of the vehicles in the system and make changes; and for managers to view usage reports.
You must use Python for your implementation, with a user interface written in Tkinter. Your system must include a database to store the details of the vehicles, charging points, city locations, customers, and any other data as needed by your implementation. You must include at least two vehicle types, for example electric scooters and electric bikes; you can also include more vehicle types if you want to.
The detailed functionality of the system is up to you, but it should include at least the following capabilities:
· Customers should be able to:
o Rent a vehicle at any location in the city, as long as there is a working vehicle available at that location.
o Return a vehicle to any location. When a customer returns a vehicle, their account is charged depending on how long the vehicle rental was and what type of vehicle was used.
o Report a vehicle as defective.
o Pay any charges on their account.
· Operators should be able to:
o Track the location of all vehicles in the city.
o Charge a vehicle when the battery is depleted.
o Repair a defective vehicle.
o Move vehicles to different locations around the city as needed.
· Managers should be able to:
o Generate reports showing all vehicle activities over a defined time period, using appropriate data visualisation techniques.
You may want to consult similar real-world systems such as Lime (https://li.me/) or Voi (https://www.voiscooters.com/) to help with your system design. Note that it is not expected that you exactly duplicate the functionality of these systems.
What to submit
Each group must submit the following (through Moodle):
· A report describing the functionality that was implemented, explaining any design decisions that were made. The report should also include a summary of how each team member contributed to the design and implementation, as well as to the report. Templates will be provided on Moodle.
· A video presentation of your system, up to 10 minutes long.
o All members of the team must speak on the video (cameras not required)
o The video must include a live demo of all the system, as well as a discussion of all design decisions.
· All of the source code involved in the system, along with any other resources required to run it. You should also include a README file describing exactly how to run your software.