RaghavKhullar / Delta-Task-3

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Poll Booth

Vikram and Pavithra want to decide upon a design for Delta T Shirt. They decided to put up a poll among Delta members to select a design. So they asked their juniors to develop a portal which facilitates polling among teams.

They need a website which allows creation of teams and polls within the team members built upon a full fledged frontend and backend.

Setup and Getting Started

  1. Download or clone this repo to your local system.
  2. For this repo, you have to create your own config.env file or rename the config.txt file to config.env, which is provided as an example for the contents to be filled in .env file.
  3. After this, open the terminal and run the following command to download all the dependencies.
npm install
  1. After downloading all the dependencies, run the following command in the terminal.
npm run start
  1. Now, navigate to http://localhost:3000

Normal Mode:

  • Have a user management system with authentication that allows users to register and login on the site.
  • Create a team and be able to invite users to the team.
  • Create a poll with variable number of text options within the team.
  • Create a dashboard for a team and display the polls in chronological order.
  • Show the results of poll after admin ends it.
  • Design a neat, intuitive UI ( make the site responsive, legible text, etc ).

Hacker Mode:

  • Have a deadline for automatically ending polls.
  • Support for different types of options such as images, audio and video.
  • Notifications to the admin when someone submits a vote, joins their team using invite, etc.
  • Validate the registration forms (check for duplicate usernames, determine password strength, etc).
  • Add plots/graphs to visualize results of polls.
  • Prevent SQL injection.

Hacker Mode++:

  • Ability to add multiple admins and user roles (like teachers, CR, students etc).
  • Send notifications through email.
  • Google Calendar API integration to keep track of deadlines for polls.
  • Add real time chat feature.
  • Add real time video conferencing feature.

About


Languages

Language:EJS 53.7%Language:JavaScript 32.3%Language:CSS 13.3%Language:Shell 0.6%Language:Dockerfile 0.1%