Posted 17 Hours Ago Job ID: 2090428 17 quotes received

Python Backend Flask Rest API

Fixed Price or Hourly
Quotes (17)  ·  Premium Quotes (1)  ·  Invited (7)  ·  Hired (0)

  Send before: July 20, 2024

Send a Quote

Programming & Development Programming & Software

A little about the project:
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.

    Expected from you:
    Complete the job on your local machine and prove to me that it works by demoing it. Add the necessary SQL and shell scripts to the repo and push it to GitHub so I can create and produce it on my ec2 instance. After this, you can advise me on best security practices and industry practices for the program's sustainability.

    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.


Bigger Picture:

... Show more
Abdul M Australia