A full-stack poll management platform built with Spring Boot (BE) and Angular (FE).
It allows users to create, vote, and manage polls with a modern UI and reliable backend APIs.
| Layer | Tech Stack | Description | Completion Status |
|---|---|---|---|
| 🧠 Backend (BE) | Java 21 · Spring Boot 3 · PostgreSQL · RabbitMQ | Provides REST APIs for poll creation, voting, and user management. | 90% |
| 💻 Frontend (FE) | Angular (standalone components) · TypeScript · Tailwind | Offers a responsive interface for interacting with polls and accounts. | 50% |
📘 Detailed docs:
pollSystemVideo_21_10_2025_status.mp4
- ✅ User Authentication (login / registration)
- 🗳️ Create and manage polls with multiple options
- 📊 Vote tracking and result aggregation
- 🧾 REST API documented with OpenAPI / Swagger
- 🐘 PostgreSQL persistence layer
- 📨 RabbitMQ message queue integration
- 💅 Modern Angular UI with Tailwind utilities
- 🧩 Modular structure — easy to extend FE and BE independently
| Component | Version |
|---|---|
| ☕ Java | 21+ |
| 🐘 PostgreSQL | 15+ |
| 🐇 RabbitMQ | 4.0.8+ |
| ⚙️ Node.js | 16+ (recommended 18+) |
| 📦 Maven | 3.9.9+ |
- Clone the repo:
git clone https://github.com/dennewbie/PollSystem.git cd PollSystem - Start backend (Spring Boot):
cd be
./mvnw spring-boot:run
→ API: http://localhost:8080
- Start frontend (Angular):
cd fe/poll-system-fe
npm install
npm start
→ UI: http://localhost:4200
-
Poll Adding (FE)
-
Poll Voting (FE)
-
Retrieve also voted option for each poll (FE + BE)
-
User's Session Handling (FE + BE)
-
Registration Implementation (FE)
-
Reset Password Implementation (FE)
-
Edit created Poll feature (FE)
-
"Show All Polls" Buttons (FE + BE)
-
Settings (FE)
-
Add Vote to a certain Poll by typing Poll ID (FE)
-
Add mobile-friendly UI using Angular Material
-
Add integration tests (REST Assured + Cypress)
No issues found.
Here’s how you can help:
🍴 Fork the repository
🌱 Create a feature branch
git checkout -b feature/your-feature
💾 Commit your changes
git commit -m "Add your message"
🚀 Push and open a Pull Request
💬 Please keep PRs focused and describe changes clearly. For frontend fixes, include screenshots when possible.
PollSystem/
│
├── be/ # Spring Boot backend
│ └── README.md
│
├── fe/
│ └── poll-system-fe/ # Angular frontend
│ └── README.md
│
└── README.md # You're here! (root overview)
For frontend details, see the Frontend README. For backend details, see the Frontend README.
Denny Caruso