Visit LEDU token page

How to Create an Online Voting webapp: Java

How to Create an Online Voting webapp: Java

  • English
  • Programming
  • JavaJava
  • (1499)
  • Project length: 6h 18m

This tutorial will cover all the details for building a voting Spring boot web app. You will be guided through all the steps since configuring the programming environment, learning the Spring Boot basics and finally start coding the product iteratively. In the end it is expected that you are comfortable with this framework and you can use your imagination to build whatever you want.


What are the requirements?

  • Some Java experience
  • Basics of HTML, CSS and Javascript
  • Basics of HTTP Protocol
  • Basics of Maven (or other build automation tool)
  • Basics of RESTful API design
  • Basics of MVC design pattern

What is the target audience?

  • People who want to learn how to make webapps using spring boot and java
  • People who want to enhance their overall knowledge on designing a fullstack web app
  • People who are fascinated with programming and just want to watch stuff to be built

When are the streaming sessions (streaming schedule)?

  • Weekly 9pm GMT+1 Lisbon time on Thursday

Where can I find all the code?

  • It is in the resources button down bellow

Project Outline

Session 1: Spring boot Introduction and starting project

  • Brief project description with some similar already existent projects reference
  • Setting up the developing environment
  • Some basic Spring concepts
  • Defining a simple poll entity
  • Save entities on MongoDB database
  • Create GET Controllers
  • Introduction to RestFul API
  • Introduction to MVC pattern

Session 2: Polishing the controller

  • Create POST, PUT and DELETE HTTP request controller methods
  • Creating an input entity that represents a poll

Session 3: Finishing controller methods

  • Improve the Poll entity that we are saving
  • Add controller methods to increase and decrease votes

Session 4: Defining relationships on MongoDB

  • Create PollOption entity
  • Save PollEntity and PollOptions entities
  • Refactoring controller methods

Session 5: Start Creating frontend

  • Thymeleaf template engine overview
  • Create the Poll display page

Session 6: Implement frontend voting

  • Implement the logic for form submission

Session 7: Implement frontend poll creation

  • Create the Poll creation page
  • Implement the logic for validation and form submission

Session 8: Implement frontend poll listing and management

  • Create HTML skeleton for poll listing
  • Create Javascript login for poll management (Delete or view)


Average rating

5(1499 Reviews)