|
|
- # 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
|