Polling Nest is a full stack polling app. Users can create polls and solicit feedback from people or fans and let them vote and share in their polls. Users can also tailor their polls by incorporating videos, images and text options.The backend server was developed using Spring Boot and Spring Security along with JWT authentication. MySQL database was used for storage. The front-end application was made using React and Ant Design for designing our user interface.
-
Clone the application
git clone https://github.com/smyrmnsr/polling-nest-backend cd polling-nest-backend
-
Create MySQL database
create database polling_app
-
Change MySQL username and password as per your MySQL installation
-
open
src/main/resources/application.properties
file. -
change
spring.datasource.username
andspring.datasource.password
properties as per your mysql installation
-
-
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 8080.
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
-
Default Roles
The spring boot app uses role based authorization powered by spring security. To add the default roles in the database. The following sql queries were added in
src/main/resources/data.sql
file. Spring boot will automatically execute this script on startup -INSERT IGNORE INTO roles(name) VALUES('ROLE_USER'); INSERT IGNORE INTO roles(name) VALUES('ROLE_ADMIN');
Any new user who signs up to the app is assigned the
ROLE_USER
by default.
-
Clone the application
git clone https://github.com/smyrmnsr/polling-nest-frontend cd polling-nest-frontend
-
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
.
Frontend
Backend