makikooni / DE_Engineering_Project

The project creates applications to Extract, Transform and Load data from a operational database for our client Terriffic Totes. The data is archived in a data lake, and is made available in a remodelled OLAP data warehouse hosted in AWS.
0 stars 2 forks source link

ETL Totesys Project -Various Artists

Static Badge Static Badge Static Badge

Static Badge Static Badge Static Badge Static Badge Static Badge

The project creates applications to Extract, Transform and Load data from a operational database for our client Terriffic Totes. The data is archived in a data lake, and is made available in a remodelled OLAP data warehouse hosted in AWS.

Features

Technologies

The project uses a number of technologies and AWS serviuce

Installation

The installation steps below make extensive use of the Makefile.

Project requirements

Python dependencies

A full list of core python dependencies for production can be found in the requirements.txt, the main python dependencies include:

Setup

After forking and cloning repo:

  1. Setup development environment.
    make create-environemnt
  1. Install development dependencies e.g bandit, safety, flake8 etc.
    make dev-setup
  1. Install python libraries.
    make requirements

Usage

After setup, you can run each application locally.

<!-- Execute the extract application -->
make pyrun file=src/extract.py

Unit tests

After setup, you can run all tests locally.

<!-- Execute all unit tests -->
    make unit-tests

Pre-deployment checks

After setup, you can run all checks (bandit, safety, falke8 and coverage).

<!-- Run all pre-deployment checks -->
    make run-checks

Deployment

The project uses GitHub Actions for CI/CD and you can see more details in the test_and_deploy.yml file.

Note: The CI/CD process is set to trigger upon any push, or merge of a pull request, to the main branch.

Authors

Project status

Closed on 11th August 2023.