Skip to content
/ DRF_VUE Public

A voting system built using VueJS and Django Rest Framework

Notifications You must be signed in to change notification settings

sailod/DRF_VUE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Voting system made with Django Rest Framework and Vue.js

This repository is a monorepo for fullstack application written in VueJS and Django,
This application has example of all CRUD operations, Authentication (using 1. username/password 2. google account (firebase) 3. web3 auth using Metamask),
Authorization (any object can be edited only by its creator), and IP based protection to limit each user for only one vote per subject, Pagination

This repo includes the best practices for running both the frontend and backend in production, its running the API (Django Rest Framework) using Gunicorn and use Nginx as proxy to the wsgi and serving media and static files like stylesheets

This platform works as follow:

  1. in order to create new poll you need to register and be logged in
  2. once you published poll everybody that logged in can vote for it but just single time (enforced via IP detection)
  3. only the publisher of the poll can delete it

Run the app

docker compose up
drf_vue_compressed.webm