Challenge Overview
Note the challenge scope is small (Just create SQL files and a simple Docker image), and we would like to finish it ASAP. The submission phase is reduced to 72 hours and the review phase is 24 hours. Submitters and reviewers, please be aware of this. Thanks.
Project Overview
Data Fabric enables customers to respond and innovate more quickly to data changes. From the CIO (Chief Information Officer)’s perspective, Data Fabric helps to manage and maintain their existing projects and their details. Our customers want to build a Data Fabric platform, in microservice architecture and exposes API for operation. The Data Fabric platform will consist of a dashboard of all existing projects that will allow users to view CIO level metric/data.
Challenge Objectives
Please according to the given dashboard, ERD, a sample table schema (In SQL) and a spreadsheet about DB Lineage to consolidate the DB schema. Specifically,
-
According to the consolidated DB schema, write SQL files to create tables in MySQL.
-
Build a Docker image with MySQL and create tables in it.
Technology Stack
-
MySQL
-
Docker
-
Kubernetes
-
SQL
Dashboard of projects
Dashboards of projects are divided into 3 levels.
1. Level 1 - Project Dashboard
The Project Dashboard shows overall status of each project. For each project, it provides the following info
-
Schedule status
-
Budget status
-
Project name
-
PR Number
-
Size
-
Number of apps impacted
-
Project Manager
-
DTD VP
-
Business Sponsor VP
-
Project descriptions/capabilities
Please see the following two pictures for more details.
2. Level 2 - Project Details
Project details should provide detailed project information, which includes
-
Current phase(s)
-
Status summary
-
Risks and mitigations
-
Impacted apps
-
Budget status
The project details should also provide the high-level status for each active phase
-
On/off schedule
-
Days off plan
Please see the following two pictures for more details
3. Level 3 - Project Phase Wise Details
This level should provide details for each phase: Funding, Requirements, Design, Development, Testing, Deployment.
3.1 Funding Phase
3.2 Requirements Phase
3.3 Design Phase
3.4 Development Phase
3.5 Testing Phase
3.6 Deployment Phase
.
Database entity information (ERD)
See the following two pictures
A sample table schema
You can also refer to the sample schema that the client provided for more details.
DB Lineage spreadsheet
Provided in the forum.
Individual Requirements
-
Consolidate the database models/tables based on the details provided above.
-
Create SQL scripts files to create tables in MySQL.
-
Provide a Docker image that contains the MySQL and the tables have been inserted to the MySQL.
-
Write a document (in .md format) for deployment, including
-
how to run the Docker container
-
verify that all the tables in MySQL have been created properly. Please create some separate SQL files to insert some sample data for verification.
-
-
Containerize: Note we should use kubernetes instead of Docker-Compose for the container orchestration. You can refer to this article to learn how to deploy on Kubernetes.
Final Submission Guidelines
Please zip all following files in your submission.
-
SQL scripts file
-
Dockerfile/docker-compose.yml
-
The document (in .md format) for deployment guide as mentioned above.