Posted on 21st December, 2021
It is a multi-user polls application where users can create polls and have anywhere between 3-10 options for each poll. The polls created by them would be visible to other users on their homepage/dashboard page once they login.
This project was created as a part of my learning process when I was getting acquainted with Vue 3, Quasar and Typescript. The story goes like this - in my organization, people were planning to port the entire app we had in Vue 2 to Vue 3 using Typescript and Quasar. This was mildly inspired by the Django Polls App given in Django official docs.
Anyways, the high level requirements remain pretty much the same, you have full CRUD functionality on the polls you create, that is you can Create, Update, Delete and View all the polls created by you. Other users would be able to vote on your poll. You'd be able to see the votes of the users and their choice. Once voted on a poll, you cannot vote on any other option (Single choice poll) unless you withdraw the vote you had cast earlier.
There is also a details page for each user who is part of the website. You can search for other users and polls through a search bar and on User Detail page you would be able to see all the polls created by that user.
Frontend validation is done using Vee-Validate and Zod validation libraries for Vue 3 and Typescript. Quasar is used for UI components. Quasar is one of the first UI kits in Vue which offered full support to Vue 3. Other UI libraries like Vuetify, VuePrime are now offering support for Vue 3 as well. But, Quasar remains my personal favourite choice as of now because of the wide range of components it has to offer, configurable options, ease of use and more.
For Backend, Express is used which is still the most widely used framework for Node ecosystem.
Made With
Have something to share ? Please post it in the comments section.
You must be logged in through your Google account to post comments
No comments available for this project