School-focused election system with a Spring Boot backend, a Vue 3 frontend, and a Docusaurus documentation site.
Project documentation now lives in the Docusaurus site under website/.
Set-Location .\website
npm install
npm startThe published target is GitHub Pages for FTMahringer/Wahlsystem_V2.
Use the repository startup script as the default development path:
Copy-Item .\docker\dev\.env.example .\docker\dev\.env
.\scripts\start-dev.ps1This starts the Docker-based development stack, including frontend, backend, database, and Redis.
When the backend is running in the dev profile, you can log in without a password through the dev helper endpoint:
POST http://localhost:8080/api/v1/auth/dev-login
Content-Type: application/json
{
"username": "admin"
}This returns a normal auth response with access and refresh tokens for the existing user.
You can also use it directly in the browser:
http://localhost:8080/api/v1/auth/dev-login?username=admin
The admin login page also shows dev-only buttons to:
- sign in directly as
admin - reset the default admin back to
admin / admin123and sign in immediately
The reset endpoint is:
POST http://localhost:8080/api/v1/auth/dev-reset-adminUse it only for local development and testing.
Alternative: run frontend and backend directly on the host
Set-Location .\frontend
npm install
npm run devSet-Location .\backend
java -classpath .mvn\wrapper\maven-wrapper.jar "-Dmaven.multiModuleProjectDirectory=F:\projects\Wahl\backend" org.apache.maven.wrapper.MavenWrapperMain spring-boot:run- election creation/edit wizard
- token-based voter login
- single-choice, binary, approval, limited-vote, and Borda-count elections
- admin user management
- student/teacher onboarding wizard