联系方式

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

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

日期:2023-08-11 12:06

Project Specifications -- V1

Basic functionalities

In this project you are going to create an online store for a retail company. Your job involves

designing, implementing, testing and deploying a web application that supports Customers and

Administrators to interact with the e-store.

Customers can execute several use cases, including

- Register (sign up)

- Sign in

- Sign out

- List catalogue items

- Sort items by prices (sort items based on ascending prices or based on the descending prices)

- Sort items by names (i.e., in the alphabetical order)

- Filter catalog items by categories

- Filter catalog items by brand

- View details (description, brand, price etc) of a product

- Add items to shopping cart

- Edit or remove items from the shopping cart

- “Check out” by providing credit card information and shipping information to purchase the

items in the shopping cart

Administrators: are the owners of the store; they have access to the following use case

- Check sales history.

You are welcome to add more features, some examples are given in the Executive Summary part later in

this document.

Development and Runtime Frameworks

You will develop a multi-tier web application, with clear separation between front and back-end.

You are allowed to use any technology presented in class, and are also encouraged to go

beyond the APIs covered in lectures and Labs. For example, you can use Java Spring or

Sprint Boots for back-end content, use React or JS/Angular for front end, use Node.js

frameworks for both front and back ends. (Some tutorials on the topics will be provided).

You can also use databases other than MySQL and SQLite, e,g., PostgreSQL and even Mongodb.

Design and implementation

It is important that the architecture of your store exhibits:

? Clear separation between front and back-end

? MVC design with a clear separation of business logic and presentation. Web API that mediates

between front- and back-end,

? DAO design pattern.

? Other architecture and Design patterns when appropriate (Factory, Singleton, Observer etc.)

? Testcases (based on curl) for the back-end

? Good coding style (modularity, comments, readability, etc.) ? Robustness to user inputs

Below are the SUGGESTED main components/services of your e-store. It is acceptable to

deviate from this as long as you justify it in the design document. So, your architecture may

comprise more components/services than the ones reported below.

Back-end and Model services

A. Data Access This component mediates between your application’s business logic and

the data base(s). It should be scalable and configurable.

B. Catalog Component/Service

The Catalog provides the APIs and the implementation to support use cases related to the products

sold by the estore

C. Ordering Component/Service

The Ordering provides the APIs and the implementation of use cases than manage user orders

D.Identity management component/service. Provides the interfaces and the implementation for

user registration, log in and log out.

E. Shopping cart component/service. Provides services for managing the shopping basket,

including the management of state

Web APIs (this is the set of API exposed by the back-end)

F. Controller/API Gateway

The component/service mediates between the “model” and the “views”.

Front-end components

The front end can be built as a collection of dynamic views. Below are the three main views, use

them as examples:

G. Catalog View

Displays the contents of the store organized by category and by product. The visitor must be able to

1. browse the catalog and see All, By Brand, By Categories products

2. select an item and see the detailed information for that item (description, brand, price etc.).

3. add an individual item to shopping cart.

H. Shopping Cart View

The Shopping Cart Page allows a visitor to review the order

1. view all items in the shopping cart and their information (price, etc.).

2. remove individual items from the shopping cart or increase/decrease the quantity. While

doing so, the total bill is updated.

3. Button or link that allow user to go back to continue shopping.

4. “Checkout” submit button indicating they wish to purchase the items in the shopping cart.

I. Checkout View

1. either log into their account with a password, or create a new account to check out.

2. for a new account they enter their account name, password, and default billing and

shipping information. The new account is submitted to the Order Processing service.

3. to submit their order, they verify their billing and shipping information, and enter in their

credit card number.

4. Confirm order” button

Note: You do not need to use a 3rd party payment service for this project, create a simple

payment web service that mimics a real payment. Design a simple algorithm to accept or

deny a payment request. E.g., deny every 3rd request of payment, or other dummy algorithms .

If the order is approved, you should display “Order Successfully Completed.” If it is denied,

you should display “Credit Card Authorization Failed.”, and allow user the enter again or

quit.

J. Registration View. Provides the user interface for registering/maintaining an account.

1. log in

2. log out

3. Register

K. Administrator/Analytics Page View

The Administrator should be able to

1. view the items sold

Executive summary

You can use any tools you choose. You are free to design the interface and business logic. Listed

below are required features (in red), and examples of extra features (in blue)

Here are required functionalities:

? Design and implementation:

- Use MVC design pattern with a clear separation of business logic and presentation. Web API

that mediates between front- and back-end,

- Use DAO design pattern

? Customers can execute several use cases, including

- Register (sign up)

- Sign in

- Sign out

- List catalogue items

- Sort items by prices (sort items based on ascending prices or based on the descending prices)

- Sort items by names (i.e., in the alphabetical order)

- Filter catalog items by categories

- Filter catalog items by brand

- View details of a product

- Add items to shopping cart

- Edit or remove items from the shopping cart - Go back to continue shopping.

- “Check out” by providing credit card information and shipping information to purchase the

items in the shopping cart

? Administrators: are the owners of the store; they have access to the following use case - Check

sales history.

List above are required features.

You are welcome to add more features. Extra features can get bonus marks. Listed below are some

suggested example features (you are not limited to these features. You are encouraged to be creative in

designing your project):

- Design and implementation

- Use design patterns (in addition to MVC and DAO which are required), e.g,. Singleton,

Factory, Observer, Fa?ade etc

- Has one or more Web services that follow REST API (e.g., payment as a separate Web

Service).

Customer:

- All products have images.

- Product has inventory information (quantity remaining)

- Read and write reviews on items and rate items using five stars - Ask questions to a live

chatbot able to answer basic questions - send confirmation email to customer after checkout.

- See their account page with customer info, purchase history etc…

- …. Other creative features…

Administrator:

- Can run a Reports on sales with option to save as disk file (e.g. as PDF files).

- Maintain customer account pages with customer info, purchase history etc

- Maintain inventory, to change quantity of product (add inventory) - …. Other creative

features…


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

python代写
微信客服:codinghelp