I am a cashier at Plesky Electronics, a retail electronics shop. I also have a side passion for coding, and while looking at hackathons, i realized that 'Courier' could not only make a great experience participating in one, but also automate a redundant and boring task. We have a spreadsheet on google sheets where we store our invoices. I check the spreadsheet daily and send reminder emails myself, 14 days before the due date. With this project, I have used courier and web scraping to automatically check the spreadsheet and send a beautiful, professional email at the correct time. It runs once a day at a particular time using task scheduler (alternatively it could also be hosted on a VPS) and if the present date is greater than or equal to the reminder date, it sends the email.

I built it using python, pandas, zocrypt and courier. One of the challenges I ran into is security. The auth token is easy to hack and not encrypted. I had created a module for encrypting api keys and passwords, so i simply imported that in this project. The module's name is zocrypt and uses 6 levels of encryption as well as a key which can be stored as an environment variable.

I learned how to automate the tasks and how to set up notifications. The future plan for easy invoices is to make this into a web dashboard, making it user friendly and easy to replicate this system of reminders with a no-code application. A user interface where users can sign in and enter their spreadsheet url, input their email and send reminders before the due date

Built With

Share this project:

Updates