Giter Site home page Giter Site logo

contactmathewjoseph / cs545-project Goto Github PK

View Code? Open in Web Editor NEW

This project forked from javietanh/cs545-project

0.0 1.0 0.0 6.66 MB

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

License: MIT License

Java 27.12% HTML 22.88% CSS 47.23% JavaScript 2.77%

cs545-project's Introduction

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

cs545-project's People

Contributors

japinto930614 avatar javietanh avatar phuongtran1911 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.