Python Backend Flask Rest API
Python Backend Flask Rest API
Python Backend Flask Rest API
When the project is complete, it will be a backend Python3-flask Rest API hosted
on an Ubuntu Ec2 instance that regularly pulls invoices and stores them in a
Postgres database.
Work involved:
Enhance the SAAS'S rest-starter-pack git hub repo by adding features that can
perform the following:
● Keep its current functionalities
● After the program's first user-initiated authorisation and authentication, a
scheduled cronjob periodically runs it
● Parses the JSON invoice object and inserts it into two or three related
tables with at least one common field
● Apart from python-restapi-Flask configured logs, the program adds logs
about the scheduled runs and about the metadata handled
● Only handles 'get' on invoices endpoint with a where parameter that is
hardcoded in the py script
I will provide the config.py when you accept the job
Links:
● https://github.com/XeroAPI/xero-python-oauth2-starter
● https://developer.xero.com/documentation/api/accounting/invoices/#get-
invoices
● https://www.youtube.com/watch?v=i8JWtbMo90M
About you:
You are a Python developer passionate about backend development and
have experience with Rest APIs. Considering most of the code-base has
been supplied, you find this easier, irrespective of whether you may or
may not have done this in the past.
Use-case:
There are only seven invoices in the demo copy on the xero accountig
system. The program would save these seven invoices repeatedly based
on a schedule. This is simply to demonstrate the program's functionality.
When in production, the where parameter will be replaced by 'datetime',
so only newly created invoices are added. Objects like journals, contacts,
accounts, and their postgres table equivalents will get added to the
production environment.
Bigger Picture:
This project is part of a bigger integration project that pulls CRM,
accounting, payroll, HRIS, and operations data across various SAAS
software that another financial planning tool relies on. This work will form
a proof of concept for financial planning solutions