Skip to content

stacktim/forum

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

86 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Forum

Description

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.

Technologies

  • 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 JpaRepository to creating, reading, updating and deleting data
        • implementation of native queries
      • 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
    • JPA & Hibernate:
      • specifying relations between entities in database and parameters of columns in tables
    • Java 8 SE:
      • Optionals, LocalDateTime
  • HTML:
    • Thymeleaf
    • data validation in login form and registration form
    • semantic elements from HTML5
  • CSS:
    • Materialize

Features

  • Possibility joining to the Java Forum and adding personal data to database: register
  • Summary of activity on forum expressed in number of topics or answers and hyperlinks to them: profile
  • Review topics with redirecting to each of them and to each of their authors: topics
  • Browsing a topic with the possibility of adding/deleting answer, and setting it as useful: topic

Software tools

  • IntelliJ IDEA 2017.2.4
  • Gradle 3.5.1
  • XAMPP [MySQL]

Project's structure

  • 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]
      • resources:
        • templates:
          • layout:
            • offline.html
            • online.html
          • answers.html
          • error.html
          • index.html
          • login.html
          • profile.html
          • register.html
          • topic.html
          • topics.html
        • application.properties
    • test/java/com/plkpiotr/forum
      • ForumApplicationTests.java [TODO]
  • build.gradle

Comments

The content of questions and answers on the screenshots comes from Stack Overflow. I was faced with those problems during creating application.

License

MIT

About

Internet forum powered by Spring Framework and MySQL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Java 50.3%
  • HTML 49.7%