Skip to content

leonden/vote-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

141 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

votez

A voting app in Java Spring Boot and Angular.

This project is related to the module 294 and 295 from the Swiss Education Ordinance in information technologies.


Content


Description

The system is capable of displaying results from multiple users in one election statistic. You can create several elections in which the users can make their entries. The elections, as well as the results, should refer to a database via a REST interface and be saved there.

Users can log in to the application via a login page. Elections and their results can be viewed without registration, but registration is mandatory in order to be able to take part in them.


GitHub

The application is saved in a GitHub repository.

Feel free to fork the project or clone it to your local machine.

git clone https://github.com/leonden/vote-app.git

Backend

The backend is implemented in Java as a Spring Boot application.

Run

Make sure you have Java 17 installed.

After cloning the repository to your local machine, you can cd into it. Then head to \backend\vote-app and run

mvn spring-boot:run

After running this command, you can head to http://localhost:8080 to see the API documentation in the local Swagger UI.


Frontend

The frontend is implemented in TypeScript as an Angular application.

For efficient development purposes, the app uses the Angular Material component library from Google.

Run

From the root project directory, cd into \frontend\vote-app\ and run ng serve for a dev server. Navigate to http://localhost:4200/. The application will automatically reload if you change any of the source files.


Data

Data is stored in a PostgreSQL database. For an easy usage and database integration, the app uses Java JPA.


Security

Authentication

The authentication process is made possible with OAuth2 and Keycloak. Users are organized inside of the local Keycloak environment.


Licensing

The entire project is MIT licensed, which means, that anyone can use this project and its source code for personal purposes.

About

A voting app in Java Spring Boot and Angular.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors