Skip to content

Polling Management System πŸ—³οΈ A full-stack app for creating, managing, and voting on polls with real-time results. Built with React.js, Node.js, and MongoDB, it offers secure login, customizable polls, and interactive results. πŸš€

Notifications You must be signed in to change notification settings

Subramanian7986/polling-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

3 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ—³οΈ Polling Management System

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. πŸš€


🌟 Features

πŸ” User Authentication:

  • Secure registration and login using JWT.
  • Password encryption for enhanced security.
  • Session management to restrict unauthorized access.

πŸ“ Create Polls:

  • Add a title, description, and multiple voting options.
  • Customizable poll settings: Single or multiple votes per user.

πŸ› οΈ Manage Polls:

  • Edit or delete polls with ease.
  • Admin privileges for overseeing all polls in the system.

πŸ—³οΈ Voting:

  • Cast votes securely on available polls.
  • Real-time vote count updates.
  • Prevent duplicate voting by tracking user participation.

πŸ“Š Results Visualization:

  • Real-time updates as votes are cast.
  • Interactive results displayed via graphs and charts.
  • Summarized results accessible to poll creators and participants.

πŸ” Search and Filter:

  • Search for polls by title, keywords, or creator.
  • Filter polls by categories, popularity, or creation date.

πŸ› οΈ Technology Stack

πŸ–₯️ Frontend:

  • React.js: Dynamic and responsive user interface.
  • CSS: Styling and layout design.
  • JavaScript (ES6+): Interactivity and functionality.

βš™οΈ Backend:

  • Node.js: Server-side scripting and API handling.
  • Express.js: Backend logic and APIs.

πŸ“‚ Database:

  • MongoDB: Flexible, document-oriented NoSQL database.

πŸ“‚ Project Modules

  1. User Module:

    • User authentication, profile management, and session handling.
  2. Poll Management Module:

    • Create, edit, and delete polls with customizable options.
  3. Voting Module:

    • Secure voting with real-time updates.
  4. Results Visualization Module:

    • Display poll results using charts and graphs.
  5. Database Module:

    • Efficient storage and retrieval of user, poll, and vote data.
  6. Search and Filter Module:

    • Navigate and find polls easily with advanced filters.

πŸš€ Installation

Prerequisites:

  • Node.js
  • MongoDB

Steps:

  1. Clone the Repository:

    git clone https://github.com/Subramanian7986/polling-management-system.git  
    cd polling-management-system  
  2. Install Dependencies:

    npm install  
  3. Start MongoDB:

    • Run mongod for a local instance.
  4. Set Environment Variables:

    • Create a .env file and set the MONGODB_URI and JWT_SECRET.
  5. Start the Application:

    npm start  
  6. Access the App:

    • Open http://localhost:5000 in your browser.

πŸ“Š Database Schema

  • users: Stores user credentials and roles.
  • polls: Stores poll details and associated candidates.
  • votes: Tracks user votes for polls.

🎯 Future Enhancements

  • 🌐 Multilingual support for a global audience.
  • πŸ“§ Email notifications for poll updates.
  • πŸ“ˆ Advanced analytics and visualizations.

πŸ“œ License

This project is licensed under the MIT License.


Crafted with ❀️ for seamless and interactive polling experiences. πŸ—³οΈ

About

Polling Management System πŸ—³οΈ A full-stack app for creating, managing, and voting on polls with real-time results. Built with React.js, Node.js, and MongoDB, it offers secure login, customizable polls, and interactive results. πŸš€

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published