A simplified prototype for an as-built tracking database with API

Overview

Asbuilt_Trax

A simplified prototype for an as-built tracking database with API

The purpose of this project is to:

  1. Model a database that tracks construction as-builts, GIS contributers, GIS data, and construction crew leaders all in one place
  2. Publish an API that provides access to that data
  3. Use Jupyter Notebook to analyze and visualize the data

API Reference:

Endpoint path Method Parameter Description
http://localhost:5000/asbuilts/[ID] GET asbuilt.ID Returns data for specified as-built
http://localhost:5000/asbuilts/[ID] PUT asbuilt.ID Updates specified as-built
http://localhost:5000/asbuilts GET None Returns data for all as-builts
http://localhost:5000/asbuilts POST (JSON) gis_user_id, work_order, crew_leader_id, install_date Creates new record in asbuilts table
http://localhost:5000/asbuilts/[ID] DELETE asbuilt.ID Deletes specified as-built record

Project evolution

Asbuilt_Trax began as a way to practice PostgreSQL database design, construction, and maintenance by implementing a simplified records management database based on a utilities mapping workflow. What it provides is a solution to the problem of being able to lookup and manage records in an efficient way, leveraging the power of a database to serve the data up via API, and visualize the data in using Jupyter Notebook.

ORM

With a reasonable footing in SQL, I chose to build the API with Flask-SQLAlchemy in order to practice using the ORM and the framework it provides.

Future devlopments

Currently the API only provides for basic query and post/ delete operations. So I am looking forward to expanding those capabilities to return more comprehensive data from the database, including GIS records, creating and updating user tables, and SQL triggers to automate data management. I'd also like to implement more data visualization tools in the associated Jupyter Notebook.

You might also like...
TheMachineScraper 🐱‍👤 is an Information Grabber built for Machine Analysis
TheMachineScraper 🐱‍👤 is an Information Grabber built for Machine Analysis

TheMachineScraper 🐱‍👤 is a tool made purely for analysing machine data for any reason.

Udacity-api-reporting-pipeline - Udacity api reporting pipeline

udacity-api-reporting-pipeline In this exercise, you'll use portions of each of

Karate Club: An API Oriented Open-source Python Framework for Unsupervised Learning on Graphs (CIKM 2020)
Karate Club: An API Oriented Open-source Python Framework for Unsupervised Learning on Graphs (CIKM 2020)

Karate Club is an unsupervised machine learning extension library for NetworkX. Please look at the Documentation, relevant Paper, Promo Video, and Ext

Hidden Markov Models in Python, with scikit-learn like API

hmmlearn hmmlearn is a set of algorithms for unsupervised learning and inference of Hidden Markov Models. For supervised learning learning of HMMs and

Get mutations in cluster by querying from LAPIS API

Cluster Mutation Script Get mutations appearing within user-defined clusters. Usage Clusters are defined in the clusters dict in main.py: clusters = {

Minimal working example of data acquisition with nidaqmx python API

Data Aquisition using NI-DAQmx python API Based on this project It is a minimal working example for data acquisition using the NI-DAQmx python API. It

Codes for the collection and predictive processing of bitcoin from the API of coinmarketcap

Codes for the collection and predictive processing of bitcoin from the API of coinmarketcap

API>local_db>AWS_RDS - Disclaimer! All data used is for educational purposes only.
APIlocal_dbAWS_RDS - Disclaimer! All data used is for educational purposes only.

APIlocal_dbAWS_RDS Disclaimer! All data used is for educational purposes only. ETL pipeline diagram. Aim of project By creating a fully working pipe

Demonstrate a Dataflow pipeline that saves data from an API into BigQuery table

Overview dataflow-mvp provides a basic example pipeline that pulls data from an API and writes it to a BigQuery table using GCP's Dataflow (i.e., Apac

Owner
Ryan Pemberton
Ryan Pemberton
collect training and calibration data for gaze tracking

Collect Training and Calibration Data for Gaze Tracking This tool allows collecting gaze data necessary for personal calibration or training of eye-tr

Pascal 5 Dec 17, 2022
The Spark Challenge Student Check-In/Out Tracking Script

The Spark Challenge Student Check-In/Out Tracking Script This Python Script uses the Student ID Database to match the entries with the ID Card Swipe a

null 1 Dec 9, 2021
Common bioinformatics database construction

biodb Common bioinformatics database construction 1.taxonomy (Substance classification database) Download the database wget -c https://ftp.ncbi.nlm.ni

sy520 2 Jan 4, 2022
This creates a ohlc timeseries from downloaded CSV files from NSE India website and makes a SQLite database for your research.

NSE-timeseries-form-CSV-file-creator-and-SQL-appender- This creates a ohlc timeseries from downloaded CSV files from National Stock Exchange India (NS

PILLAI, Amal 1 Oct 2, 2022
Galvanalyser is a system for automatically storing data generated by battery cycling machines in a database

Galvanalyser is a system for automatically storing data generated by battery cycling machines in a database, using a set of "harvesters", whose job it

Battery Intelligence Lab 20 Sep 28, 2022
Random dataframe and database table generator

Random database/dataframe generator Authored and maintained by Dr. Tirthajyoti Sarkar, Fremont, USA Introduction Often, beginners in SQL or data scien

Tirthajyoti Sarkar 249 Jan 8, 2023
CSV database for chihuahua (HUAHUA) blockchain transactions

super-fiesta Shamelessly ripped components from https://github.com/hodgerpodger/staketaxcsv - Thanks for doing all the hard work. This code does only

Arlene Macciaveli 1 Jan 7, 2022
Tablexplore is an application for data analysis and plotting built in Python using the PySide2/Qt toolkit.

Tablexplore is an application for data analysis and plotting built in Python using the PySide2/Qt toolkit.

Damien Farrell 81 Dec 26, 2022
Helper tools to construct probability distributions built from expert elicited data for use in monte carlo simulations.

Elicited Helper tools to construct probability distributions built from expert elicited data for use in monte carlo simulations. Credit to Brett Hoove

Ryan McGeehan 3 Nov 4, 2022
Data pipelines built with polars

valves Warning: the project is very much work in progress. Valves is a collection of functions for your data .pipe()-lines. This project aimes to host

null 14 Jan 3, 2023