A comprehensive Full-Stack Web Application for creating, managing, and participating in polls. Designed with modern technologies to deliver a secure, efficient, and user-friendly platform for collecting opinions, conducting surveys, and facilitating decision-making. π
- Secure registration and login using JWT.
- Password encryption for enhanced security.
- Session management to restrict unauthorized access.
- Add a title, description, and multiple voting options.
- Customizable poll settings: Single or multiple votes per user.
- Edit or delete polls with ease.
- Admin privileges for overseeing all polls in the system.
- Cast votes securely on available polls.
- Real-time vote count updates.
- Prevent duplicate voting by tracking user participation.
- Real-time updates as votes are cast.
- Interactive results displayed via graphs and charts.
- Summarized results accessible to poll creators and participants.
- Search for polls by title, keywords, or creator.
- Filter polls by categories, popularity, or creation date.
- React.js: Dynamic and responsive user interface.
- CSS: Styling and layout design.
- JavaScript (ES6+): Interactivity and functionality.
- Node.js: Server-side scripting and API handling.
- Express.js: Backend logic and APIs.
- MongoDB: Flexible, document-oriented NoSQL database.
-
User Module:
- User authentication, profile management, and session handling.
-
Poll Management Module:
- Create, edit, and delete polls with customizable options.
-
Voting Module:
- Secure voting with real-time updates.
-
Results Visualization Module:
- Display poll results using charts and graphs.
-
Database Module:
- Efficient storage and retrieval of user, poll, and vote data.
-
Search and Filter Module:
- Navigate and find polls easily with advanced filters.
- Node.js
- MongoDB
-
Clone the Repository:
git clone https://github.com/Subramanian7986/polling-management-system.git cd polling-management-system
-
Install Dependencies:
npm install
-
Start MongoDB:
- Run
mongod
for a local instance.
- Run
-
Set Environment Variables:
- Create a
.env
file and set theMONGODB_URI
andJWT_SECRET
.
- Create a
-
Start the Application:
npm start
-
Access the App:
- Open
http://localhost:5000
in your browser.
- Open
- users: Stores user credentials and roles.
- polls: Stores poll details and associated candidates.
- votes: Tracks user votes for polls.
- π Multilingual support for a global audience.
- π§ Email notifications for poll updates.
- π Advanced analytics and visualizations.
This project is licensed under the MIT License.
Crafted with β€οΈ for seamless and interactive polling experiences. π³οΈ