Skip to content

Building the shopping online using Java SpringBoot MVC which shopping cart, payment, seller, buyer, admin to manage products, order, ads...

License

Notifications You must be signed in to change notification settings

javietanh/cs545-project

Repository files navigation

Project Teams:

Online Marketing Project

Github url: https://github.com/javietanh/cs545-project.git
Diagram: https://www.draw.io/#G1r-3mbf9fY7bXn7rIoG83pTlCA4mc43R2

Technologies

  • Spring boot MVC with thymeleaf + Rest API.
  • Hibernate, lombok + JPA as ORM.
  • H2 in memory database.
  • Bootstrap 4.3.1 as layout and template.
  • jQuery + ajax for client manipulate with rest api.
  • Springboot Security as authentication & authorization.
  • flying-saucer-pdf library to print invoice and receipt as pdf file.
  • Springboot multipart support for upload file.
  • Mailgun Api to send email notify.

Project analysis and development

Task assigned: In general, the project has 3 main parts which is: Seller, Buyer and Admin. After one day discuss, finalized the features and organized data storage we separated the project into 3 main modules which is take care of each team members.
Github was used to organized and sharing source code, every features finish will be pushed and merged to the master branch.

Task Assignment

  • Seller: Viet Anh Nguyen
  • Buyer: Phuong Tran
  • Admin: Jorge

Project Requirements

This is an engineering proof of concept. The goal is to exercise the Spring MVC/Boots technology according to “company” guidelines to validate its use in future projects.

A group consists of 3~4 members.

The main hours spent on the project for each person is expected to be ~50(?) hours. Every Team member is to “own” a “front to back” scenario - View, Controller, Domain Object, Validation, Service and Repository.

Here is the list of the techniques you must include in your project as a Group.

Technique

  • XML config/Java Config
  • PRG
  • JSP, Thymeleaf
  • Bean Validation or Spring Validator
  • Custom Validation Annotation
  • Custom Formatter
  • Uploading files
  • Exception Handling (Individual, Globally)
  • REST/Ajax – Error Handling
  • Spring Security (Database, Logout, Remember Me, csrf, etc)
  • Security authorization – interceptor, AOP
  • Persistence – Hibernate + Spring Data
  • ONLY allow In memory database (H2, HSQL, etc)
  • CSS Library
  • GitHub

It means your project must include those techniques which are checked What kind of project should I develop? Here is the variety of options you can choose:

  • Spring MVC monolith
  • Spring MVC monolith Thymeleaf
  • Spring REST: Client (JSP) + Server
  • Spring REST: Client (Thymeleaf) + Server
  • Spring boot monolith JSP
  • Spring Boot: Client(JSP) + Server
  • Spring Boot monolith Thymeleaf
  • Spring Boot: Client(Thymeleaf) + Server

If you need to use a new technique which isn’t covered in this course, you must get permission first. Otherwise, you’re gonna lose points in your group project grade.

##Scrum/Agile Development Process

Daily Scrum meeting – We’ll hold a daily meeting every day to check everyone’s status if you need any help.

Project Topic – Some online Market

  1. Users: Admin, Seller and Buyer

  2. Features of Admin

    • If seller register in this web site, need to get approval from Admin in order to post products in the web site
    • Add Ads on pages
    • Approve Review made by Buyer (no matter approve or reject, notify buyers by email)

  3. Features of Seller

    • Register as Seller
    • Product (CRUD). When a product is added, the system should automatically notify all followers by website message
    • Seller cannot buy products from the website
    • Maintain orders
    • Cancel Order (Notify Buyer by website message), the status of order on buyer’s part should also changed
    • Change Order status (Shipped-On the way-Delivered)

  4. Features of Buyer

    • Register as Buyer
    • Follow and Unfollow Seller
    • Can not sell items on this website
    • Can place an order
    • Maintain Shopping Cart (CRUD)
    • Maintain Shipping and Billing Address
    • Maintain Payment
    • Place order
    • Every successful purchase (not returned), gain points from the website. You can use points to buy products (something like coupons).
    • Maintain Orders
    • Check Order History
    • Can cancel order before shipping, after shipping cannot
    • Download/Print receipt as PDF or Excel
    • Write Product Review. Review must be approved by Admin before live

About

Building the shopping online using Java SpringBoot MVC which shopping cart, payment, seller, buyer, admin to manage products, order, ads...

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published