Internet forum [in this case about programming language Java] powered by Spring Framework and MySQL. This web application enables inter alia: adding topics and answers, as well as browsing, editing or deleting some of them.
- Java:
- Spring Framework:
- Spring MVC:
- application-level on the basis on design pattern: model-view-controller
- using methods "get" and "post" with parameterising URLs which is typical of REST API
- Spring Data:
- using JPQL and ready-made methods from
JpaRepositoryto creating, reading, updating and deleting data - implementation of native queries
- using JPQL and ready-made methods from
- Spring Security:
- own login form with authentication of users on the basis of database
- restricting access to some pages for offline users
- protection against cross-site request forgery
- encoding passwords
- Spring Boot:
- automatic configuration and launching application
- Spring MVC:
- JPA & Hibernate:
- specifying relations between entities in database and parameters of columns in tables
- Java 8 SE:
- Optionals, LocalDateTime
- Spring Framework:
- HTML:
- Thymeleaf
- data validation in login form and registration form
- semantic elements from HTML5
- CSS:
- Materialize
- Possibility joining to the Java Forum and adding personal data to database:

- Summary of activity on forum expressed in number of topics or answers and hyperlinks to them:

- Review topics with redirecting to each of them and to each of their authors:

- Browsing a topic with the possibility of adding/deleting answer, and setting it as useful:

- IntelliJ IDEA 2017.2.4
- Gradle 3.5.1
- XAMPP [MySQL]
- src:
- main:
- java/com/plkpiotr/forum:
- configuration:
- AdditionalLoginConfiguration.java
- SecurityConfiguration.java
- controllers:
- AnswersController.java
- IndexController.java
- LoginController.java
- ProfileController.java
- RegisterController.java
- TopicController.java
- TopicsController.java
- entities:
- Answer.java
- Topic.java
- User.java
- repositories:
- AnswerRepository.java
- TopicRepository.java
- UserRepository.java
- ForumApplication.java [main class]
- configuration:
- resources:
- templates:
- layout:
- offline.html
- online.html
- answers.html
- error.html
- index.html
- login.html
- profile.html
- register.html
- topic.html
- topics.html
- layout:
- application.properties
- templates:
- java/com/plkpiotr/forum:
- test/java/com/plkpiotr/forum
- ForumApplicationTests.java [TODO]
- main:
- build.gradle
The content of questions and answers on the screenshots comes from Stack Overflow. I was faced with those problems during creating application.
MIT