forked from beba/foerderbarometer
92 lines
2.1 KiB
Markdown
Executable File
92 lines
2.1 KiB
Markdown
Executable File
# foerderbarometer
|
|
|
|
purpose: gather data from intern(WMDE) and extern(volunteers) forms to create a database ('förderdatenbank') and send emails with links for a questionary.
|
|
|
|
## installation and development setup
|
|
|
|
ln -sr foerderbarometer/settings_development.py foerderbarometer/settings.py
|
|
|
|
build the database with
|
|
|
|
python3 manage.py migrate
|
|
|
|
create superuser account with
|
|
|
|
python3 manage.py createsuperuser
|
|
|
|
run the development server with
|
|
|
|
python3 manage.py runserver
|
|
|
|
access via
|
|
|
|
http://localhost:8000/
|
|
http://localhost:8000/intern/ (login required)
|
|
http://localhost:8000/admin/ (login reqiured)
|
|
|
|
## additional admin functionality
|
|
|
|
The admin page is the standard admin page delivered by django but with two additional functionalities:
|
|
|
|
- There is a new action "export to csv" with which you can export all Selected
|
|
entries to a csv file
|
|
|
|
- There is a new button in the bottom of every Project to "save as new"
|
|
|
|
## versions used in development
|
|
|
|
asgiref==3.2.10
|
|
Django==3.1.2
|
|
django-formtools==2.4
|
|
gunicorn==20.0.4
|
|
mysqlclient==2.1.1
|
|
sqlparse==0.4.3
|
|
whitenoise==6.2.0
|
|
asgiref==3.2.10
|
|
Authlib==1.2.1
|
|
certifi==2023.7.22
|
|
cffi==1.16.0
|
|
chardet==5.2.0
|
|
charset-normalizer==3.3.0
|
|
cryptography==41.0.4
|
|
idna==3.4
|
|
pycparser==2.21
|
|
pytz==2023.3.post1
|
|
requests==2.31.0
|
|
six==1.16.0
|
|
typing_extensions==4.8.0
|
|
urllib3==2.0.6
|
|
|
|
## testing
|
|
|
|
run some tests with
|
|
|
|
python3 manage.py test
|
|
|
|
## production setup
|
|
|
|
ln -sr foerderbarometer/settings_production.py foerderbarometer/settings.py
|
|
|
|
edit /secrets.json to contain something similar to
|
|
|
|
{
|
|
"DATABASE_PASSWORD": "THIS IS TOP SECRET!",
|
|
"SECRET_KEY": "THIS IS ANOTHER SECRET!"
|
|
}
|
|
|
|
edit foerderbarometer/settings_production.py according to your database setup (tested with MariaDB 10.0.36)
|
|
|
|
run the following commands:
|
|
|
|
python3 manage.py migrate
|
|
python3 manage.py collectstatic
|
|
|
|
server starts with
|
|
|
|
nohup gunicorn --forwarded-allow-ips="*" -b '0:8000' foerderbarometer.wsgi 2&> logfile &
|
|
|
|
|
|
Should be executed at least daily e.g. in crontab
|
|
|
|
python3 manage.py sendmails
|