This project is a learning exercise and my first full-stack web application. While it functions, there are some minor bugs due to my current skill level. I aim to improve the code quality and elegance as my skills advance.
One known issue is related to the login system. The application supports two login mechanisms: one for frontend users using MD5 encryption and another for backend users using Spring Security. This dual system causes a lack of permission prompts during backend login, requiring the frontend to also be logged in with an Admin account. This oversight is due to my inexperience.
To run the application using Docker, execute the following command in the project root directory:
docker-compose up
- Configure Database: Modify the application.yml file to update the MySQL database configurations.
- Initialize Database: Import and execute the vote.sql file in your MySQL database.
- Run the Application: Navigate to the project root directory and run:
mvn spring-boot:run
- Username: admin
- Password: 123456
- Spring Boot: Framework for building the application.
- Spring Data JPA: Simplifies data access and manipulation.
- Spring Security: Handles authentication and authorization.
- Thymeleaf: Templating engine for server-side rendered HTML.
- Bootstrap: Front-end framework for responsive design.
- AdminLTE v3.0: Admin dashboard template.