CST – 8288代做、Java编程设计代写

- 首页 >> Java编程
FINAL PROJECT (CST – 8288)
For this project you are required to build a simple Food Waste Reduction Platform. The Food
Waste Reduction Platform aims to address the global issue of food waste by providing a
comprehensive solution that connects food retailers, consumers, and charitable organizations. A
food waste reduction platform plays a vital role in promoting sustainability, reducing hunger,
and building more resilient food ecosystems. It encourages collaboration among stakeholders
across the food supply chain and encourage collective action to address one of the most
important challenges of our time. The platform you are building should facilitate the efficient
redistribution of surplus food in order to address impact of food waste.
Functional Requirements:
FR – 01: Users Registration:
a. Registration: Users must have the ability to create accounts on the platform by providing
their name, email, password, and selecting the user type (i.e., retailers, consumers, or
charitable organizations).
b. Authentication: the platform must have to login/logout of the functionality.
FR – 02: Retailers:
a. Inventory Management: Retailers must have the capability to manage their inventory of
food items, including adding new items, updating quantities, and setting expiration dates
for each item.
b. Surplus Food Identification: Retailers should be able to identify and flag surplus food
items that are nearing expiration or are in excess of demand. Surplus items are those with
expiry dates within the next one week.
c. Listing Surplus Food Items: Retailers must have the functionality to list surplus food
items on the platform for donation or sale at a discounted price. An item is up for
Donation or for sale at a reduced price is determined by the Retailer.
FINAL PROJECT (CST – 8288)
FR- 03: Charitable Organization:
a. Claim Food: Charitable organizations such as Food Banks/Missions should be able to
claim the food item listed by retailers available for donation.
b. Update Inventory: the retailer inventory must be updated accordingly once a particular
food item is claimed by a Charitable Organization.
FR-04: Consumers:
a. Purchase: Consumers of the platform should be able to purchase (not real transaction)
the items listed by the retailers at a given discount rate.
c. Update Inventory: the retailer inventory must be updated accordingly once a particular
food item is purchased by a consumer.
FR-05: Surplus Food Alert:
a. User Subscription: Users can subscribe to receive surplus food alerts based on their
location, communication method (email or phone) and food preferences.
b. Automatic Notifications: Whenever retailers list surplus food items on the platform,
users subscribed to alerts receive automatic notifications via email or phone.
FR-06: Bonus Functionality:
a. Introduce at least one additional functionality in your solution that is unique and not
listed in the above requirements. Please include the details in your high level design
report using with proper description and use case. There is extra mark allocated for the
bonus functionality.
FINAL PROJECT (CST – 8288)
Database:
The entire system is supported by a relational database management system (RDBMS) called
FWRP for data storage and management. Design your schema by introducing entities (tables)
that you might think are required for the system.
Architecture to Consider:
1. Presentation Layer (User Interface/MVC) - The presentation layer is responsible for
interacting with users
2. Business Layer (Business Logic/Functionalities) - The application layer contains the
business logic and handles the processing of user requests.
3. Database Layer (Persistence Service/DAO/JDAL/Database) - The data layer stores and
manages the persistent data used by the application.
Figure: 3-Tier Architecture
FINAL PROJECT (CST – 8288)
Deliverables and Instructions:
1. High Level Design
a. Create a High Level Design that covers the details about the solution.
b. The design report should include Solution Architecture, technology used, the required
UML, database model, deployment model and covers overall system functionalities. A
sample table of contents will be provided for reference.
2. Database
a. Design the structure of the database (Entity-Relationship Diagram) in accordance with its
functional requirements. This includes outlining the relationships of tables
b. The schema should be labeled as "FWRP" and must be able to handle all the functional
requirements of the platform (Including the BONUS if you prefer to have one)
c. You are required to come up with sample dataset based on your database structure.
d. Include your database design in the High Level Design report.
3. Version Control System
a. Use of GitHub is mandatory for the project.
b. Delegate one group member to take the responsibility of Team Lead.
c. The Team lead will create the Github repository and each other team member will create
branch from the main repository.
d. Code should be submitted to the main repository using Pull Requests that the Team Lead
will be responsible for approve or reject.
e. All team members should be creating pull requests and sharing work.
f. If team members are not sharing work equally it will be reflected in their final mark.
FINAL PROJECT (CST – 8288)
4. Junit
a. JUnit must be written for the corresponding code you are developing
b. You Junit should belong to the test package which must be different than actual code.
5. Solution:
a. A comprehensive solution build using Java/J2EE addressing all the requirements
thoroughly.
b. Your solution must use some of the design patterns we have covered and will cover
throughout the course.
6. Show Case:
a. In class demonstration of the solution is mandatory.
b. You are required to create a PowerPoint presentation (Max 4/5 slides) during the demo.
A sample template will be provided.
FINAL PROJECT (CST – 8288)
Deadlines:
1. The deadline for High Level Design submission is March 18, 2024. Brightspace
submission is required by the deadline.
2. Demo session will be scheduled throughout Week 14 (April 8 – 12). Brightspace
submission is NOT required for the solution. We will be evaluating the solution from the
GitHub repo.
Project Weight and Marks Distributions:
1. The project weighs 30% of your final grade.
2. High Level Design – 7 Marks
3. Solution – 18 Marks. Following are some areas that we will be looking into the solutions.
a. Implementation of the functional requirements
b. Proper use of GitHub
c. Use of Design Patterns
d. Comply with Java coding standards and documentation
e. JUnit
f. Proper project/package structure.
4. Demo/Showcase – 5 Marks (Failure to demo will result 0 for the project)
5. Bonus Functionality –5 Marks (Extra)
The purpose of this project is to give you an opportunity of constructing a simple software
application from the ground up that uses various design patterns and covers every stages of
Software Development Life Cycle (SDLC).
GOOD LUCK!!

站长地图