SurveyPlatform
Description
SurveyPlatform is an open platform where anyone can participate in surveys on various topics. Registreted users can create and start their own surveys and collect statistics.
The platform supports languages: English and Russian.
Project stack
Java EE / MySQL / HTML5 / CSS3 / Bootstrap 4 / JavaScript
Functional roles
The platform supports the following roles and their corresponded functionality.
ADMIN | USER | GUEST | |
---|---|---|---|
Sign in/up | + | + | + |
Request change password | + | + | + |
View available surveys | + | + | + |
Participate in surveys | + | + | + |
Log out | + | + | - |
Change credentials | + | + | - |
Survey CRUD | + | + | - |
View survey results (created by user) | + | + | - |
Request theme | - | + | - |
Add theme | + | - | - |
User CRUD | + | - | - |
Database schema
MySQL database is used to store data.
Database schema
Installation
- Clone the project.
- Create a new MySQL database using database.sql from the data folder.
- Change the app.properties file, located in the resources/properties/ folder, based on your database configurations.
- Fill up any valid email service's user and password in the mail.properties file, located in the resources/properties/ folder, for password change functionality.
- Build the project using maven.
- Add new Tomcat 9.0.62 configuration to the project.
- Run Tomcat and open http://localhost:8089/ on the browser.
- Log in as admin, change password and create new users. Admin default account is admin@admin.com, password - 12345678.
Usage
Sign in and edit survey
Survey attempt
View survey result and work with themes