Skip to content

Critalic/AuctionCourseWork

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

39 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Auction web application

This repository contains code for my software engineering class course work project. It's an auction website where users can search for lots and make bids on them, and lot owners can create, update and delete their lots. Detailed requirements, use cases and class diagrams can be found here.

Technology stack

  • Java EE (v.8.0.1)
  • Apache Tomcat (v.9.0.65)
  • MySQL (remote database on a CleverCloud server)

Quick overview

The application is designed according to the MVC pattern:

  • Model - POJOs for data transfer.
  • View - JSPs using Tailwind CSS
  • Controller - Java EE WebServlet with Front controller pattern.

The user requests are handled by the FrontController class, which uses StrategySelector to select the necessary strategy.

The strategies use service classes to execute the necessary business logic.

The service classes interact with the database via data access objects.

The DAOs use JPA to work with the database and Criteria API for requst construction.

Note:
Java reflection mechanism was used in constructing database requests to take advantage of indexing on the DB side.