NOTE: The master
branch is auto-deployed to Heroku.
Get emails when T&P stuff changes on IIT KGP's ERP.
Deploy to Heroku and set config variables.
The following is a list of all the config variables that are required for MFTP to work:
ERP_A1
ERP_A2
ERP_A3
ERP_PASSWORD
ERP_Q1
ERP_Q2
ERP_Q3
ERP_USERNAME
MAILGUN_API_KEY
MAILGUN_DOMAIN
MAILGUN_PUBLIC_KEY
MAILGUN_SMTP_LOGIN
MAILGUN_SMTP_PASSWORD
MAILGUN_SMTP_PORT
MAILGUN_SMTP_SERVER
MONGODB_URI
NOTICES_EMAIL_ADDRESS
Among these, the variables prefixed by MAILGUN
will be added by Heroku when
you run the command heroku addons:create mailgun:starter
.
The MONGODB_URI
env variable will be set by heroku addons:create mongolab:sandbox
.
You need to add the other variables. You can add either by using the command
heroku config:set KEY=VALUE
from the command line, or you can use the Heroku
web interface, under the Settings tab.
- Make a copy of the .env-template file and rename it to .env in the root directory.
cp ./.env-template ./.env
-
Add values of all the variables in the newly created .env file accordingly. (Descriptions of all the varibales can be found in app.json). Note : app.json does not contain
DEBUG
variable as it explicitly configures scripts to run in local environment friendly way. -
Install all the python modules from the requirements file. Note : The program runs on Python 2
pip install -r requirements.txt
- Run settings.py to load variables from .env file to the local environment.
python settings.py
- Now run the main tornado server.
python main.py
Database Migration details inside migration directory
mftp monitors your ERP account for changes to the notices and the companies list, and sends you an email if there are any new or modified entries. Your credentials are stored as Heroku config variables, and you run your own Heroku instance.
The folder incident-postmortems
contains information about failures and downtimes we have noticed in the past, their cause, and the solutions employed. More information is provided in the README.md
inside the folder.
GPLv3. Issues and pull requests are welcome.