blob: 8a1f3b0dee8c4c764f14605eb1f34c393ef70dfb (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
> [!NOTE]
> Considering that myself and my team have graduated from the Northcoders Data Engineering course, this project will be archived and made read-only.
> I will be continuing this project solo, which you can find [here](https://github.com/ajschofield/NC-Bentley-ETL), where I will be adding more features
> over time.
# ToteSys - Data Engineering Project
[](https://www.python.org/)
[](https://aws.amazon.com/)
[](https://www.terraform.io/)
[](https://www.postgresql.org/)
[](https://github.com/features/actions)
[](https://github.com/ajschofield/de-project-bentley/actions/workflows/deploy.yml?query=branch%3Amain)
[](https://github.com/ajschofield/de-project-bentley/deployments/production)
# Contributors
<table>
<tr>
<td align="center">
<a href="https://github.com/ellsymonds">
<img src="https://github.com/ellsymonds.png" width="100px;" alt="ellsymonds"/>
<br />
<sub><b>Ellie Symonds</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/lian-manonog">
<img src="https://github.com/lian-manonog.png" width="100px;" alt="lian-manonog"/>
<br />
<sub><b>Lianmei Manon-og</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/T-Aji">
<img src="https://github.com/T-Aji.png" width="100px;" alt="T-Aji"/>
<br />
<sub><b>Tolu Ajibade</b></sub>
</a>
</td>
</tr>
<tr>
<td align="center">
<a href="https://github.com/HastarTara">
<img src="https://github.com/HastarTara.png" width="100px;" alt="HastarTara"/>
<br />
<sub><b>Joslin Rashleigh</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/bulve-ad">
<img src="https://github.com/bulve-ad.png" width="100px;" alt="bulve-ad"/>
<br />
<sub><b>Anzelika Belotelova</b></sub>
</a>
</td>
<td align="center">
<a href="https://github.com/ajschofield">
<img src="https://github.com/ajschofield.png" width="100px;" alt="ajschofield"/>
<br />
<sub><b>Alex Schofield</b></sub>
</a>
</td>
</tr>
</table>
# Summary
The project aims to implement a data platform that can extract data from an
operational database, archive it in a data lake, and make it easily accessible
within a remodelled OLAP data warehouse.
The solution showcases our skills in:
- Python
- PostgreSQL
- Database modelling
- Amazon Web Services (AWS)
- Agile methodologies
# Main Objectives
Our goal is to create a reliable ETL (Extract, Transform, Load) pipeline that
can:
1. Extract the data from the `totesys` operational database
2. Store the data in AWS S3 buckets, that will form our data lake
3. Transform the data into a suitable schema for the data warehouse
4. Load the transformed data into the data warehouse hosted on AWS
# Key Features
We aim for the project to have certain features. Some are more prioritised than
others.
- Automated data ingestion from `totesys` db
- Data storage for ingested and processed data in S3 buckets
- Data transformation for data warehouse schema
- Automated data loading into the data warehouse schema
- Logging and monitoring with CloudWatch
- Notifications for errors and successful runs (e.g. successful ingestion)
- Visualisation of warehouse data
|