Skip to content

Developer Headstart

Overview

This document outlines the process and guidelines for developers to contribute to this project.

The handbook is a centralized resource written by the internal team to share knowledge, best practices, and tools to make development easier.

Setting up a project and playing roles in a dynamic environment can be complex, with many components requiring configuration to work together.

Development process is a process to build/develop within the data project in the overall structure of the team.

  • Python headstart: https://devguide.python.org/getting-started/

Concepts

Development process

  • Follow Prerequisites instruction to set up tools, language

  • Follow [Introduction] > [SAD] > [Changelog] > [TODO] of the project

  • Follow Git Strategy

Tools

  • GitHub (2FA) with user account

  • Google Cloud Platform

  • Python version 3.9.x

  • MySQL WorkBench - Client adapter

  • Git

Infra:

  • Terraform

IDE

For specific IDE

  • Config for space element

Documents

python3 -m venv venv && source venv/Scripts/activate && python -m pip install -r requirements.txt

The list of documentations that developers required to read through:

  1. Read README with overall project context

  2. The project detail implement ideas.

  3. The project architecture (SAD, Flows, ...).

  4. The document from Cloud Provider, currently is Google Cloud Platform

  5. The connector of database backend, currently is MySQL.

  6. The use cases of service account in the project

  7. Development CI/CD process

  8. The Python way: https://docs.python.org/3/using/windows.html

  9. Python Setup YAML: https://pyyaml.org/wiki/PyYAMLDocumentation

Acount

  • Cloud Account

  • Email Account

Shell

Configuiration

Config for .bashrc

export PROJECT_ID=
export PROJECT_REGION=
echo "PROJECT_ID=$PROJECT_ID" >> ~/.bashrc
echo "PROJECT_REGION=$PROJECT_REGION" >> ~/.bashrc
echo "LOCATION=$PROJECT_REGION" >> ~/.bashrc

Configuration

  1. Configuration for Ini files

  2. Connect to Cloud Resources

  3. Establish the connection and testing

Deployment

Deployments using Google Cloud Run

Note

[1] Config .gcloudignore https://cloud.google.com/sdk/gcloud/reference/topic/gcloudignore

[1] Clone from master về [2] Checkout -b ... [3] Khởi tạo python -m venv venv [4] Activate source venv/Scripts/activate ---- Git/Bash (trong máy) [5] Dependencies python -m pip install -r requirement.txt -- lafm tuong tự cho dev [6] pre-commit install [7] User working for compoent [8] Bỏ vào ... [9] ruff . [10] Push -> Review

  1. Have you documented all the changes in your PR? NOTE If your PR contains only changes to contrib directory (community contributed Expectations), please skip this step.

Please group in the following order: [FEATURE], [BUGFIX], [DOCS], [MAINTENANCE]

You can see the Newer Changelog here:

Set up dependencies

  • Communication. Pick one: Slack | Skype | Zalo | etc..

  • Budget

  • Technical Decisions

  • Version Control: Github

  • Language | Framework

  • Database Structure

  • Cloud providers: AWS | Google Cloud.

  • Frontend: React

  • Mobile: Flutter

  • Official Documents for Project. Pick: Confluence

  • Colloborate:

  • Figma

  • Spreadsheets

  • Store at: Google Drive [Spreadsheets], [Diagrams]

Flow

Defination of Done

This space introduction for componment in the market

  • Time to deliver data:

  • Self redirect time to handle the output

  • Make sure you have calculated: (a) Time to learn (b) Time to solution © Time to code

  • DOD data (Defination of Done): pass test internal

  • Following construction of project

  • Focus on result

  • Repeat loop: change/test/update until the error appear

Reference

https://docs.greatexpectations.io/docs/contributing/contributing_checklist

https://google.github.io/styleguide/pyguide.html