Skip to content

yavor300/HealthBox

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

HealthBox

Spring & Thymeleaf project

Java MVC Frameworks

Individual Project Assignment

This is the Individual Project Assignment for the Spring MVC Frameworks Course @ SoftUni.

General Requirements

Your Web application should use the following technologies, frameworks and development techniques:

• The application must be implemented using Spring Framework.

o The application must have at least 12 web pages (views).

o The application must have at least 5 independent entity models.

o The application must have at least 5 controllers.

o The application must have at least 5 services.

o The application must have at least 5 repositories.

o Optionally, you may use Spring Data REST.

• Use IntelliJ or Eclipse.

o Use Thymeleaf template engine for generating the UI.

 Use fragments.

o You could also make the Front-End using JavaScript, consuming REST services from a Web API.

• Use MySQL / Oracle / PostgreSQL as a database.

• Use Spring Data to access your database.

o User Hibernate / EclipseLink or any other provider as a JPA implementation.

• Implement Responsive Web Page Design based on Bootstrap / Google Material Design.

• Use the standard Spring Security for managing users and roles.

o Your registered users should have at least these roles: user and administrator.

o User roles should be managable from the application.

o Make sure the role management is secured and error-safe.

• Use AJAX to asynchronously load and display data somewhere in your application.

• Write Unit Tests for your logic, services, repository query methods, helpers, etc.

o You should have at least 80% coverage on your business logic.

• Implement Error Handling and Data Validation to avoid crashes when invalid data is entered (both client-side and server-side).

• Handle correctly the special HTML characters and tags like
and <script> (escape special characters).

• Use at least 2 Interceptors.

• Run asynchronous tasks for jobs that do not need to run sequential or for jobs in the background.

• Schedule jobs that impact the whole application running e.g. once/twice a day.

• Use ModelМapper or other mapping library.