A simple Django-based polling application that enables secure creation and management of polls with token-based voting system. Features real-time results tracking, responsive UI, and robust authentication.
- Poll Management:
- Create and manage multiple polls
- Add/remove choices dynamically
- Set poll activation/deactivation
- Real-time vote tracking
- Results visualization
- Admin Interface:
- Comprehensive poll management
- User management
- Token management
- Vote tracking
- Statistics and reporting
-
Authentication System:
- User registration and login
- Password validation and security
- Session management
-
Token System:
- Unique voting tokens for each poll
- Prevent duplicate voting
- Token validation and expiry
- Secure token generation
- Responsive Design:
- Bootstrap 4.0 framework
- Mobile-first approach
- Dark theme
- Interactive elements
- AJAX-powered updates
-
Python 3.13+
-
Django 5.0+
-
Web browser (Chrome, Firefox, Safari)
-
Required Python packages:
django python-decouple django-crispy-forms
-
Install dependencies:
pip install -r requirements.txt
-
Configure environment variables:
cp .env.example .env # Edit .env file with your settings
-
Set up database:
python manage.py migrate python manage.py createsuperuser
-
Run development server:
python manage.py runserver
- Login or register a new account
- Create a new poll with multiple choice options
- Share the poll using generated tokens
- Track votes and view results in real-time
- Manage polls through the admin interface
MIT License - feel free to use and modify as needed.