REST API for the FinTrack customer finance tracking platform. Stores and retrieves customer transactions backed by Azure SQL Database and Azure Blob Storage.
- Python 3.10+
- Azure CLI (
az login) - ODBC Driver 18 for SQL Server
jq
macOS: brew install microsoft/mssql-release/msodbcsql18 jq
Linux: Follow the ODBC docs for your distro, install jq via your package manager.
Windows: Download the ODBC driver MSI; use Git Bash or WSL to run the deploy script.
az login
cd infra
chmod +x deploy.sh
bash deploy.shInitialise the database (use the server name printed by the deploy script):
sqlcmd -S <server> -d finance-db -U sqladmin -P 'Password123!' -i database/schema.sql
sqlcmd -S <server> -d finance-db -U sqladmin -P 'Password123!' -i database/seed.sqlOr use the Query Editor in the Azure Portal.
cd app
pip install -r requirements.txt
python app.pyAPI available at http://localhost:5001.
| Method | Path | Description |
|---|---|---|
| GET | /customers/<name> |
Transactions for a customer |
| GET | /search?field=X&value=Y |
Search any column |
| GET | /admin/all-transactions |
All transactions |
| POST | /transactions |
Create a transaction |
| GET | /reports/<file> |
Download a report from blob storage |
az group delete --name rg-fintrack --yes --no-wait