Full Stack Polls App built using Spring Boot, Spring Security, JWT, React, and Ant Design
Clone or download
Latest commit d2a51d7 Jan 7, 2019
Type Name Latest commit message Commit time
Failed to load latest commit information.
polling-app-client Fixed ServerError component Oct 10, 2018
polling-app-server Sending Exact error in JwtAuthenticationEntryPoint Nov 18, 2018
.gitignore initial commit Feb 28, 2018
Readme.md Added app screenshot Jan 7, 2019
screenshot.png Added app screenshot Jan 7, 2019


Building a Full Stack Polls app similar to twitter polls with Spring Boot, Spring Security, JWT, React and Ant Design

App Screenshot


I've written a complete tutorial series for this application on The CalliCoder Blog -

Steps to Setup the Spring Boot Back end app (polling-app-server)

  1. Clone the application

    git clone https://github.com/callicoder/spring-security-react-ant-design-polls-app.git
    cd polling-app-server
  2. Create MySQL database

    create database polling_app
  3. Change MySQL username and password as per your MySQL installation

    • open src/main/resources/application.properties file.

    • change spring.datasource.username and spring.datasource.password properties as per your mysql installation

  4. Run the app

    You can run the spring boot app by typing the following command -

    mvn spring-boot:run

    The server will start on port 5000. The spring boot app includes the front end build also, so you'll be able to access the complete application on http://localhost:5000.

    You can also package the application in the form of a jar file and then run it like so -

    mvn package
    java -jar target/polls-0.0.1-SNAPSHOT.jar
  5. Add the default Roles

    The spring boot app uses role based authorization powered by spring security. Please execute the following sql queries in the database to insert the USER and ADMIN roles.

    INSERT INTO roles(name) VALUES('ROLE_USER');

    Any new user who signs up to the app is assigned the ROLE_USER by default.

Steps to Setup the React Front end app (polling-app-client)

First go to the polling-app-client folder -

cd polling-app-client

Then type the following command to install the dependencies and start the application -

npm install && npm start

The front-end server will start on port 3000.