Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/jamesvorder/email_nudges

Desktop python app that sends email nudges to parents based on Aspen reports.
https://github.com/jamesvorder/email_nudges

beeware briefcase education python3 sqlalchemy-python sqlite3

Last synced: 26 days ago
JSON representation

Desktop python app that sends email nudges to parents based on Aspen reports.

Awesome Lists containing this project

README

        

# Attendance Nudger #

This application was developed in partnership with Mind The Gap, Boston, 501(c)3.

## Building The Application ##

### Download source code ###
```
git clone https://github.com/JamesVorder/email_nudges.git
cd ./email_nudges
```
### Set up a virtual environment ###

Note: I use pyenv to specify python 3.7.8 for reliable builds. There seem to be problems with later versions of python.

```
python -m venv ./.py3env
. ./.py3env/bin/activate
```

### Install dependencies ###

`pip install -r requirements.txt`

### Build with Briefcase ###
This cross-platform app was generated by [Briefcase](https://github.com/pybee/briefcase) - part of [The BeeWare Project](https://pybee.org/.)

Depending on the desired *output*, run one of the following commands from your python3 virtual environment:
- `python setup.py linux -s`
- `python setup.py macos -s`
- `python setup.py windows -s`

The builds will be placed in a folder corresponding to the output you chose.

## Deploying The Application

It's a desktop app, so distribute the app itself however you would like. Ther is some required cloud infrastructure, though.

### Google Cloud Setup

You will need a GCP project, a GMail API instance, and some valid credentials. Follow the guides:
* [Python Quickstart](https://developers.google.com/gmail/api/quickstart/python)
* [Send Emails](https://developers.google.com/gmail/api/guides/sending)
* [Create Credentials](https://developers.google.com/workspace/guides/create-credentials)

Once you have these things set up, the `credentials.json` file goes in the `config` module.