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:
- in order to create new poll you need to register and be logged in
- once you published poll everybody that logged in can vote for it but just single time (enforced via IP detection)
- only the publisher of the poll can delete it
docker compose up