NC Daily is a notices aggregator for the Kamar Parent Portal notices page, find it here!
The noticeboard of a school is a hub for student information. However, many students frequently forget to check the notices and as a result, don't fully participate.
NC Daily sends out a fully featured email newsletter to all of its subscribers every morning, solving this problem.
Fullstack Flask web app 🐍. Fully automated ⚙️. Zero maintanence cost. 💰
In addition to the notices, NC Daily offers extra features.
- Notices can be added to Google Calendar in one click
- Notices are sorted chronologically.
- Notice authors can be emailed using a mail:to link
- Daily motivational quotes
- Searchable notices, using email search function.
credentials.py | Handles the sensitive information (credentials and blacklists) |
emailformatter.py | Compiles the contents of the newsletter into an HTML string. |
main.py | Driver program which sends out the newsletter to email pool. |
makegcal.py | Handles the construction of the Google calendar link and the mail:to link |
newsletter.py | Sends a single welcome newsletter to a new subscriber. |
scraper.py | Responsible for web scraping and sorting the data from the parent portal website. |
server.py | The flask backend for the web application. |
static/ | Has all of the static files: CSS, JS and pictures |
templates/ | Has all of the HTML served by Flask (website files) |
quotes.json | A large compilation of quote JSON objects. |
requirements.txt | A pip freeze of all of the packages required in this project |