Skip to content

AStA-TU-Darmstadt/eleFant

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

71 Commits
 
 
 
 
 
 
 
 

Repository files navigation

eleFant

Das elektronische Finanzantragssystem des AStAs der TU Darmstadt.

eleFant is currently under active developement and everything you see here may change in the future!

eleFant is a tool to manage applications for financial support (Finanzanträge) at the students' council executive committee (AStA) of the TU Darmstadt university.

It is written in python using the Django framework. Because eleFant is just a simple Django app you can use it in any of your Django projects. eleFant features a responsive and mobile friendly frontend which is built with Material Design Lite.

You are welcome to use eleFant for any purpose as long as you follow the terms of the AGPL License. eleFant can be customized quite easily to manage any kind of application at your university, club or association.

Although the code and all documentation for elefant is written in English language, the frontend is currently only available in Geman.

Installation

Currently the easiest way to get eleFant up and running is via docker-compose using the docker-compose.yml file coming with this repository.

After installing docker and docker-compose you can simply do the following:

$ git clone [email protected]:AStA-TU-Darmstadt/eleFant.git
$ cd eleFant/src
$ sudo PORT=8000 EMAIL_HOST_USER=myuser EMAIL_HOST_PASSWORD=mypassword ALLOWED_HOSTS=host1.example.com,host2.example.com docker-compose up

docker-compose will create two docker containers running on your machine. One with a PostgreSQL Database and a second one running eleFant using nginx and uWSGI. Using docker-compose up -d you can run eleFant in background. Using docker-compose stop you can stop the running containers. See th docker-compose documentation for more information.

Configuration

As you see configuration parameters for eleFant are passed via environment variables. Currently all supported options are:

Required Settings

  • ALLOWED_HOSTS: A comma-seperated list of allowed hosts. Django will reject any connections adressing different hosts. (e.g. "host1.example.com, host2.example.com")
  • EMAIL_HOST_USER: The username Django will use to authenticate on your SMTP server.
  • EMAIL_HOST_PASSWORD: The password Django will use to authenticate on your SMTP server.
  • PORT: The port on which eleFant is served.

Optional Settings

  • DEBUG: If set to True you will get Django's debug outputs if anything fails. This is not recommendet for production use. Default is False.
  • EMAIL_HOST: The host of your SMTP server. Default is localhost.
  • EMAIL_PORT: The port of your SMTP server. Default is 25.
  • EMAIL_SSL_CERTFILE: If EMAIL_USE_SSL or EMAIL_USE_TLS is True, you can optionally specify the path to a PEM-formatted certificate chain file to use for the SSL connection.
  • EMAIL_SSL_KEYFILE: If EMAIL_USE_SSL or EMAIL_USE_TLS is True, you can optionally specify the path to a PEM-formatted private key file to use for the SSL connection.
  • EMAIL_USE_SSL: If set to True Django will use a SSL connection (on port 465) to communicate with your SMTP Server. Default is True.
  • EMAIL_USE_TLS: If set to True Django will use a TLS connection (on port 587) to communicate with your SMTP Server. Default is False.
  • LANGUAGE_CODE: an IETF language code used to guess number formats. Default is de-de.
  • TIMEZONE: The timezone to use. Default is Europe/Berlin.

Using a .env file

If you do not want to re-enter your settings every time you run eleFant you can create a .env file in the same directory where your docker-compose resides and put all your environment variables in it. For example:

#.env
PORT=8000
EMAIL_HOST=mail.fancyhost.com
EMAIL_HOST_USER=myfancyusername
EMAIL_HOST_PASSWORD=myfancypassword
ALLOWED_HOSTS=myallowedhosts

Contributing

Code contributions and bug reports are very much appreciated. If you found a bug please take some time to create a GitHub Issue. If you want to add new features or improve the code you are welcome to submit a pull request.

Screenshot

Screenshot

About

Das elektronische Finanzantragssystem des AStAs der TU Darmstadt.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published