Poll Application
Our Polling Application aims to provide a platform for users to create, share, and participate in polls on various topics. Leveraging modern web technologies such as Spring Boot React MySQL and Material UI, the application offers a seamless user experience with robust security features.
Key Features
Signup and Login User (Spring Security with JWT)
- Users can sign up for a new account or log in securely using Spring Security with JSON Web Tokens (JWT).
- Passwords are encrypted to ensure data security.
Poll Creation and Notification
- Authenticated users can create polls on the platform.
- Upon poll creation, an email notification is sent to inform users about the newly posted poll, ensuring effective communication.
View My Recently Posted Polls
- Users have access to a dedicated section where they can view polls they have recently created.
- This feature enhances user engagement by allowing easy tracking of their own activity on the platform.
Browse All Polls
- Users can explore and browse all polls posted by registered users.
- The platform provides a comprehensive listing of polls, promoting community engagement and interaction.
Poll Details and Interaction
- Users can access detailed information about each poll, including the poll question and options.
- Additionally, users can engage with polls by liking them and leaving comments to express their opinions or insights.
Voting in Active Polls
- Users can participate in polls that have not yet expired.
- The application enforces restrictions to ensure users can only vote in active polls, maintaining the integrity of the polling process.
Technologies Used
- Spring Boot: Utilized for building the backend server application, providing robust RESTful APIs and handling business logic.
- React: Employed for developing the frontend user interface, delivering a dynamic and interactive experience for users.
- MySQL: Serves as the relational database management system for storing user data, poll information, and application state.
- Material UI: Integrated for designing the user interface components, ensuring a modern and visually appealing presentation.