No description
Find a file
2024-01-10 15:58:37 +00:00
foerderbarometer implemented the logic for having a landingpage with a button poining to oauth login for extern view, while leaving /admin with passwort login 2024-01-07 14:13:21 +00:00
input removed otrs alert 2024-01-10 15:58:37 +00:00
.gitignore deleted main settings.py in foerderbarometerfrom .gitignore file 2023-11-21 10:49:38 +00:00
LICENSE added mail_state to all objects, added filters regarding sendmail.py 2023-02-27 17:09:29 +00:00
manage.py new django project 2020-09-21 14:27:16 +02:00
README.md updated README.md with right deps 2023-10-25 10:17:08 +00:00
requirements.txt updated README.md with right deps 2023-10-25 10:17:08 +00:00
TODO added mail_state to all objects, added filters regarding sendmail.py 2023-02-27 17:09:29 +00:00

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