A simple web application that is designed according to SOLID principles, uses Dependency Injection to achieve Inversion of control and supports authentication and CRUD operations.
Features
Project structure
Technologies
Instructions
- registration as a driver;
- authentication as a driver;
- create/update/remove a manufacturer;
- create/update/remove a car;
- create/update a driver;
- display list of all manufacturers;
- display list of all cars;
- display list of all drivers;
- display list of all cars by current driver;
- add driver to car.
Application is divided into logical layers in accordance with N-tier architecture to separate responsibilities and manage dependencies in project.
Tier | Responsibility |
---|---|
Presentation | Uses Apache Tomcat as the web server and Controllers to interact with users |
Logic | Uses Services to perform data processing of an application |
Data | Uses DAOs to perform CRUD operations |
UML Diagram
DB Diagram
- JDK 11
- Maven 4.0.0
- MySql 8.0.30
- JDBC
- Java Servlet 4.0.1
- Tomcat 9.0.50
- JSTL 1.2, JSP, HTML, CSS
- Clone the repo from here;
- Install MySQL;
- Configure Apache Tomcat version (IMPORTANT): 9.0.5;
- Copy and run SQL script to creating a schema and tables for the project;
- Configure Connection Util with your URL, USERNAME, PASSWORD, JDBC_DRIVER;
- By default, you will be redirected on page login.jsp.
- The access to main functionality will be opened after registration process on index.jsp page.
- Feel free to look through opened links.