联系方式

  • QQ:99515681
  • 邮箱:99515681@qq.com
  • 工作时间:8:00-23:00
  • 微信:codinghelp

您当前位置:首页 >> Java编程Java编程

日期:2024-03-21 07:59

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!!


版权所有:留学生编程辅导网 2020 All Rights Reserved 联系方式:QQ:99515681 微信:codinghelp 电子信箱:99515681@qq.com
免责声明:本站部分内容从网络整理而来,只供参考!如有版权问题可联系本站删除。 站长地图

python代写
微信客服:codinghelp