Skip to content

metakgp/hermes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Hermes

The messenger of the gods himself delivering important notices from various IITKGP noticeboards

Motivation

IITKGP has a lot of internal and public noticeboards that most students are not aware of, but will definitely benefit from. Hermes aims to solve this by monitoring the noticeboards and sending updates to students by email.

Setup

Install dependencies

Install all required python modules.

pip install -r requirements.txt

Mailgun setup

Hermes uses Mailgun's APIs to send emails. Setting up an account and registering a new domain is easy and well explained in their official documentation.

Required config variables

Hermes requires Mailgun specific environment variables to work.

MAILGUN_API_KEY="xxx" # API key from Mailgun dashboard
MAILGUN_DOMAIN="xxx" # Configured domain at Mailgun from which to send emails
FIRST_RUN="false" # Set to either "true" or "false". If true, the scrapers will check ALL notices. Only last 10 otherwise.
TARGET_EMAIL="xxx" # Target email address
VERITAS_URL="xxx" # URL for Veritas

Now the big trouble is, Hermes needs to be run within the institute (since the internal noticeboards are not accessible from outside campus). BUT the administration doesn't provide sudo access to a permanant server to set this up (because ¯\_(ツ)_/¯). So, Veritas is another helper script that can handle storing the scraped notices (and their MD5 hashes) on an independent server hosted outside campus.

So, setup and run Veritas before running Hermes. Instructions for running Veritas is provided in it's README. The VERITAS_URL env variable required above should point to wherever Veritas is hosted.

License

GPLv3. Issues and pull requests are welcome.

About

The messenger of the gods himself delivering important notices from various IITKGP noticeboards

Topics

Resources

License

Stars

Watchers

Forks

Languages