Website for carrying out seasonal surveys for /r/anime. Built with Django on the backend and Vite + Vue.js + Bootstrap on the frontend.
- Python 3.11+.
- Node.js v16+.
This project consists of a Django back-end in the root folder, and a static Vue.js front-end in ./frontend/ - the front-end will be built and served as static files by Django.
WEBSITE_SECRET: a strong, secure secret key for Django.WEBSITE_REDDIT_OAUTH_CLIENT_ID: the client ID of the Reddit OAuth app.WEBSITE_REDDIT_OAUTH_SECRET: the secret of the Reddit OAuth app.WEBSITE_DEBUG: presence of this variable enables debug mode.WEBSITE_ALLOWED_HOSTS: a list of host/domain names Django should serve, seperated by semicolons (;). This list is optional if debug mode is enabled.WEBSITE_USE_HTTPS: presence of this indicates whether the application is hosted via HTTPS.
Before either debugging or deploying the project:
- Create Django's database:
python manage.py migrate. - Add host/domain name(s) to the
django_sitetable of the generated database. This includeslocalhost:8000/127.0.0.1:8000! - Create a superuser for Django:
python manage.py createsuperuser.
- Set the environment variables.
- In
./frontend/, runnpm run debug. This will build the front-end to./frontend/dist/and watch the source code for changes. - In the root folder, run
python manage.py runserverto start up the Django server. - By default, Django will serve everything at
localhost:8000.
Install all packages, and:
- Build
./frontend:npm run build - Run Django migrations:
python manage.py migrate - Let Django collect all static files (including the frontend):
python manage.py collectstatic --noinput
Use your favorite server to deploy the Django application.