Welcome to Flash Poll, the quick and easy way to create and participate in polls! This app allows users to create polls with custom questions, answers, and set durations, as well as participate in real-time voting. Designed with a focus on simplicity and user experience, Flash Poll makes gathering opinions and insights fun and effortless.
This demo is a work in progress.
-
App Level
- Enhance mobile responsiveness
- Cypress Testing
- Expired Poll Page
- Clean up DB after polls expire
-
Poll Creation API
- Validation
- Link generation
- DB create resource
- Error logging
- Poll link JSON response
- Unit tests
-
Poll Creation Page:
- Form validation using native HTML methods
- Custom Question
- Custom Answers
- Add Additional Answers Fields
- Custom Duration
- Submit
- Clear Form
- Display errors if returned from API
- Redirect to poll link upon poll creation
- Unit tests
-
Poll Voting Page
- Display question
- Display answers
- Display vote count on answers
- Unit tests
- Add poll deletion button (if current user created it)
- Display remaining voting time (duration)
- Redirect to expired poll page if duration exceeded
- Prevent multiple votes if same user
- Web Sockets?
-
Poll Voting API
- Voting request validation
- DB update resource
- Error logging
- Web Sockets?
- Unit tests
Next.js,React,TypeScript,Prisma,yup,Tailwind,PostgreSQL,DigitalOcean
Clone the repo and set up an .env file like the one provided. Then run npm install && npm run dev.
My contact information is at the bottom of this page.
