|
1 | | -Welcome to your new dbt project! |
| 1 | +## Our dbt Project |
| 2 | +This repository consists of a [dbt](https://www.getdbt.com/) project that transforms raw data sources into clear, formatted models for Analytics. |
2 | 3 |
|
3 | | -### Using the starter project |
| 4 | +To learn more about the overall architecture design & strategy can be found in our centralized handbook: |
| 5 | +- [Data Architecture Handbook](https://docs.google.com/document/d/1WmOnx_5QaGmo-kNWitd9jSEwvEnwqxiS0ZA1jmMV-v0/edit?usp=sharing) |
4 | 6 |
|
5 | | -Try running the following commands: |
6 | | -- dbt run |
7 | | -- dbt test |
| 7 | +### Sources: |
| 8 | +Raw, unformatted data loaded directly from source systems using various data tools. |
| 9 | +- `nba_data` - The primary source of NBA statistics data captured from an API & loaded via Sling/Airbyte. |
| 10 | + - Schema: `analytics.raw_nba_data` |
| 11 | +- `google_sheets` - Internally maintained reference sheets related to the project & loaded via Sling/Airbyte. |
| 12 | + - Schema: `analytics.raw_google_sheets` |
8 | 13 |
|
9 | 14 |
|
| 15 | +### Environments: |
| 16 | +Transformed data models built via dbt with 3 distinct environments to enable a sustainable development workflow. |
| 17 | +- **Development** |
| 18 | + - Schema: `analytics.dev_[your-name]` |
| 19 | + - One per developer to avoid conflicts or overriding changes during development. |
| 20 | +- **CI** |
| 21 | + - Schema: `analytics.ci` |
| 22 | + - An isolated schema created specifically for testing Pull Request changes to ensure quality. |
| 23 | +- **Production** |
| 24 | + - Schemas: |
| 25 | + - `analytics.staging` |
| 26 | + - `analytics.warehouse` |
| 27 | + - `analytics.marts` |
| 28 | + - Separation by layer for easier navigation and permission management. |
| 29 | + |
| 30 | +### How to Get Started? |
| 31 | +1. Create your local development environment |
| 32 | + - Use a local IDE (ex. VS Code), dbt Cloud or GitHub Codespaces |
| 33 | +2. Clone the current repo (or create a new one) |
| 34 | + - Checkout the `main` branch and run `git pull` to sync changes |
| 35 | +3. Create a New Branch for your new changes |
| 36 | + - First, run `git branch your_branch_name` to create a new branch |
| 37 | + - Then run `git checkout your_branch_name` to switch to it |
| 38 | +4. Start developing! |
| 39 | + - Commit & Sync all changes to your branch during development |
| 40 | + - *IMPORTANT* - All changes should follow the team [Style Guide](_project_docs/style_guide.md) |
| 41 | +5. Create Pull Request |
| 42 | + - When development is complete, Push your branch to GitHub & create a request |
| 43 | + - Request peer reviews & confirm automated CI jobs succeed |
| 44 | +6. Merge changes to the `main` branch |
| 45 | + - Confirm automated post-merge jobs succeed |
| 46 | +7. Get latest changes in your local environment |
| 47 | + - Checkout the `main` branch in your local terminal |
| 48 | + - Run "git pull" to sync the latest version of the code |
| 49 | +8. Continue to develop & repeat the process |
| 50 | + |
| 51 | +### Notes |
| 52 | +- Provide any other important call-outs of platform-specific information here. |
| 53 | + |
10 | 54 | ### Resources: |
11 | 55 | - Learn more about dbt [in the docs](https://docs.getdbt.com/docs/introduction) |
12 | 56 | - Check out [Discourse](https://discourse.getdbt.com/) for commonly asked questions and answers |
13 | 57 | - Join the [chat](https://community.getdbt.com/) on Slack for live discussions and support |
14 | | -- Find [dbt events](https://events.getdbt.com) near you |
15 | | -- Check out [the blog](https://blog.getdbt.com/) for the latest news on dbt's development and best practices |
| 58 | +- Check out [the blog](https://blog.getdbt.com/) for the latest news on dbt's development and best practices |
0 commit comments