Spaces:
Sleeping
title: Dynamic Survey App
emoji: π
colorFrom: indigo
colorTo: purple
sdk: docker
pinned: false
Dynamic Survey Application
A robust and deployable web application built with Django that allows for the creation, administration, and analysis of dynamic surveys.
Live Demo
You can view a live demo of this application deployed on Hugging Face Spaces: https://huggingface.co/spaces/Nomi78600/dynamic-survey-app
Key Features
- Custom Surveys: Create unique surveys with multiple question types, including text fields, radio buttons, and checkboxes.
- Dynamic Interface: A clean and simple interface for users to respond to surveys.
- Results Visualization: View aggregated results for each survey to gather insights.
- Production Ready: Securely configured and containerized with Docker for reliable deployment.
- Automated Admin Creation: Superuser is created automatically in production environments via environment variables.
Technology Stack
- Backend: Python, Django
- Frontend: HTML, CSS, JavaScript (with Chart.js for visualization)
- Database: SQLite
- Deployment: Docker, Gunicorn, Whitenoise
Local Development Setup
To run this project on your local machine, follow these steps:
Clone the repository:
git clone https://github.com/YourUsername/your-repo-name.git cd your-repo-name
Create and activate a virtual environment:
# For Windows python -m venv venv .\venv\Scripts\activate # For macOS/Linux python3 -m venv venv source venv/bin/activate
Install the dependencies:
pip install -r requirements.txt
Run database migrations:
python manage.py migrate
Create a local superuser:
python manage.py createsuperuser
(Follow the prompts to create your local admin account.)
Run the development server:
python manage.py runserver
The application will be available at
http://127.0.0.1:8000
.
Usage
- Access the admin panel at
/admin
to log in and create new surveys and questions. - The main page
/
lists all available surveys for users to take. - View the results of a survey by navigating to
/results/<survey_id>
.
Deployment
This application is configured for deployment on Hugging Face Spaces using Docker. The entrypoint.sh
script handles database migrations and automated admin user creation based on the following environment variables (secrets):
SECRET_KEY
ALLOWED_HOSTS
CSRF_TRUSTED_ORIGINS
DJANGO_SUPERUSER_USERNAME
DJANGO_SUPERUSER_EMAIL
DJANGO_SUPERUSER_PASSWORD