Skip to content

Commit 18d0dbe

Browse files
travisjneumanclaude
andcommitted
refactor: genericize enterprise content for public release
- Rename 07_SOLARWINDS_ORION.md → 07_MONITORING_API_INTEGRATION.md - Rename 13_ENTERPRISE_SAMPLE_SCHEMAS.md → 13_SAMPLE_DATABASE_SCHEMAS.md - Replace SolarWinds/Orion/DPA/MSSQL references with generic alternatives - Remove personal references (Travis J Neuman) - Update CLAUDE.md to remove personal learner context Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 029776a commit 18d0dbe

43 files changed

Lines changed: 157 additions & 166 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

00_COMPUTER_LITERACY_PRIMER.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,8 +38,8 @@ my_computer/
3838
```
3939

4040
The "path" is the address of a file or folder. It tells the computer exactly where to find something:
41-
- Windows: `C:\Users\Travis\Projects\learn_python\hello.py`
42-
- Mac/Linux: `/Users/Travis/Projects/learn_python/hello.py`
41+
- Windows: `C:\Users\YourName\Projects\learn_python\hello.py`
42+
- Mac/Linux: `/Users/YourName/Projects/learn_python/hello.py`
4343

4444
## What is a text editor?
4545

@@ -57,7 +57,7 @@ The terminal (also called "command line" or "command prompt") is a text-based wa
5757

5858
It looks like this:
5959
```
60-
C:\Users\Travis> _
60+
C:\Users\YourName> _
6161
```
6262

6363
The blinking cursor means the terminal is waiting for you to type a command.

01_ROADMAP.md

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
1-
# 01 - Roadmap: Zero Experience -> Python SME (Enterprise Automation and Dashboards)
1+
# 01 - Roadmap: Zero Experience -> Python SME (Automation and Dashboards)
22
Home: [README](./README.md)
33

44
## Who this is for
55
- You have zero coding, scripting, or programming experience.
6-
- You need practical outcomes in an enterprise operations environment.
6+
- You need practical outcomes in a real operations environment.
77
- You learn best by doing real work, not passive studying.
88

99
## What you will build
1010
- Reliable Python automations for files, Excel, SQL, and monitoring data.
11-
- Repeatable ETL workflows using MSSQL as a reporting backbone.
12-
- SolarWinds Orion and DPA data ingestion jobs.
11+
- Repeatable ETL workflows using SQL databases as a reporting backbone.
12+
- Monitoring API data ingestion jobs.
1313
- Browser-based dashboards for non-technical stakeholders.
1414

1515
## Prerequisites
16-
- One supported platform: Windows, macOS, Linux, Android, or iOS (desktop strongly recommended for full enterprise path).
16+
- One supported platform: Windows, macOS, Linux, Android, or iOS (desktop strongly recommended for full path).
1717
- Permission to install Python and VS Code.
18-
- Access path for MSSQL credentials (non-SSO SQL auth is supported in this plan).
19-
- Read-only API access to Orion and DPA to start.
18+
- Database credentials for your SQL database (SQLite for learning, PostgreSQL for production).
19+
- Read-only API access to your monitoring platform to start.
2020

2121
## Program overview (8-10 hrs/week default)
2222
- Phase 0 (Week 1): environment setup and first script.
2323
- Phase 1 (Weeks 2-6): Python foundations.
2424
- Phase 2 (Weeks 7-10): quality tooling and team-ready workflow.
2525
- Phase 3 (Weeks 11-16): file and Excel automation.
2626
- Phase 4 (Weeks 17-22): SQL-first ETL pipelines.
27-
- Phase 5 (Weeks 23-28): Orion and DPA integration.
27+
- Phase 5 (Weeks 23-28): monitoring API integration.
2828
- Phase 6 (Weeks 29-38): dashboard delivery for browser users.
2929
- Phase 7 (Weeks 39+): release process, governance, and handoff maturity.
3030
- Phase 8+ (Advanced): full-stack expert path and infinite mastery loop.
@@ -105,9 +105,9 @@ Done means done:
105105
Fail/recover guidance:
106106
- freeze schema changes until test dataset passes end-to-end.
107107

108-
### Phase 5 - Orion and DPA integration (Weeks 23-28)
108+
### Phase 5 - Monitoring API integration (Weeks 23-28)
109109
Weekly outcomes:
110-
- read-only ingestion from Orion and DPA into cache tables.
110+
- read-only ingestion from monitoring APIs into cache tables.
111111

112112
Minimum deliverables:
113113
- one daily ingestion job from each source.
@@ -148,7 +148,7 @@ Fail/recover guidance:
148148
- Gate A: setup + first script + first passing test.
149149
- Gate B: Capstone A supports safe reruns and rejects.
150150
- Gate C: SQL ETL is idempotent and logged.
151-
- Gate D: Orion/DPA ingestion proof into MSSQL cache.
151+
- Gate D: Monitoring API ingestion proof into database cache.
152152
- Gate E: browser dashboard available to stakeholders.
153153

154154
## Project ladder mapping (practice by skill level)
@@ -180,8 +180,8 @@ Fail/recover guidance:
180180
- Teach-back: explain one concept weekly to another person or a written journal.
181181

182182
## Expected output
183-
- A complete progression from beginner to enterprise-capable Python practitioner.
184-
- A portfolio of capstones tied to your real data systems.
183+
- A complete progression from beginner to production-capable Python practitioner.
184+
- A portfolio of capstones tied to real data systems.
185185
- A clear upgrade path to full-stack expert mastery:
186186
- [21_FULL_STACK_MASTERY_PATH.md](./curriculum/21_FULL_STACK_MASTERY_PATH.md)
187187
- [22_SPECIALIZATION_TRACKS.md](./curriculum/22_SPECIALIZATION_TRACKS.md)

02_GLOSSARY.md

Lines changed: 18 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# 02 - Glossary (Plain English + Enterprise Context)
1+
# 02 - Glossary (Plain English + Practical Context)
22
Home: [README](./README.md)
33

44
Use this file anytime you see unknown terms.
@@ -13,8 +13,8 @@ Use this file anytime you see unknown terms.
1313

1414
### Script
1515
- Plain English: A small program designed to automate one task.
16-
- Why it matters: Most enterprise automation starts as scripts.
17-
- Example: Daily job that exports critical SolarWinds alerts.
16+
- Why it matters: Most automation starts as scripts.
17+
- Example: Daily job that exports critical monitoring alerts.
1818
- Common beginner mistake: Putting too many unrelated tasks into one script.
1919

2020
### Function
@@ -86,7 +86,7 @@ Use this file anytime you see unknown terms.
8686
### ETL
8787
- Plain English: Extract, transform, load.
8888
- Why it matters: Core pattern for reporting pipelines.
89-
- Example: Excel -> clean rows -> MSSQL table.
89+
- Example: Excel -> clean rows -> SQL database table.
9090
- Common beginner mistake: Skipping schema validation before load.
9191

9292
### Staging table
@@ -102,35 +102,29 @@ Use this file anytime you see unknown terms.
102102
- Common beginner mistake: Mixing raw and curated records.
103103

104104
### SQL auth vs SSO
105-
- Plain English: SQL auth uses DB username/password; SSO uses Windows/M365 identity.
106-
- Why it matters: Your current MSSQL access may use SQL auth, not SSO.
105+
- Plain English: SQL auth uses DB username/password; SSO uses identity provider (OAuth, SAML).
106+
- Why it matters: Your database access may use SQL auth, not SSO.
107107
- Example: Service account credentials for ETL jobs.
108108
- Common beginner mistake: Hardcoding credentials in scripts.
109109

110-
## SolarWinds and monitoring terms
110+
## Monitoring and API terms
111111

112-
### SWIS
113-
- Plain English: Orion information service API layer.
114-
- Why it matters: Main way to query Orion entities.
115-
- Example: Query node or alert metadata.
116-
- Common beginner mistake: Treating SWIS like raw SQL access.
112+
### REST API
113+
- Plain English: Standard way for programs to exchange data over HTTP.
114+
- Why it matters: Main way to query monitoring platforms and external services.
115+
- Example: Query node or alert metadata from a monitoring API.
116+
- Common beginner mistake: Treating API responses like raw SQL access.
117117

118-
### SWQL
119-
- Plain English: Query language used with SolarWinds Orion objects.
120-
- Why it matters: Required for many useful Orion queries.
121-
- Example: Query active alerts by severity.
122-
- Common beginner mistake: Expecting all T-SQL features in SWQL.
123-
124-
### DPA API token
125-
- Plain English: Credential used to call DPA REST API endpoints.
126-
- Why it matters: Enables scripted data pulls from DPA.
118+
### API token
119+
- Plain English: Credential used to call REST API endpoints.
120+
- Why it matters: Enables scripted data pulls from monitoring platforms.
127121
- Example: Fetch instance health metrics daily.
128122
- Common beginner mistake: Storing token in source code.
129123

130124
### Caching layer
131125
- Plain English: Intermediate database layer to reduce repeated API calls.
132126
- Why it matters: Improves dashboard speed and source-system stability.
133-
- Example: Load Orion and DPA snapshots into MSSQL cache tables.
127+
- Example: Load API snapshots into database cache tables.
134128
- Common beginner mistake: Querying live APIs directly for every dashboard request.
135129

136130
### Service account
@@ -142,8 +136,8 @@ Use this file anytime you see unknown terms.
142136
## Primary Sources
143137
- [Python glossary and tutorial](https://docs.python.org/3/tutorial/)
144138
- [PyPA guide](https://packaging.python.org/en/latest/tutorials/installing-packages/)
145-
- [SolarWinds OrionSDK](https://github.com/solarwinds/OrionSDK)
146-
- [SolarWinds DPA docs](https://documentation.solarwinds.com/en/success_center/dpa/content/dpa_documentation.htm)
139+
- [requests library](https://docs.python-requests.org/en/latest/)
140+
- [SQLAlchemy tutorial](https://docs.sqlalchemy.org/en/20/tutorial/index.html)
147141

148142
## Optional Resources
149143
- [Python Tutor](https://pythontutor.com/)

03_SETUP_ALL_PLATFORMS.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ Home: [README](./README.md)
1616
- One device with internet access.
1717
- Permission to install apps on your device.
1818
- 45 to 90 minutes for first-time setup.
19-
- For enterprise labs later in this plan: SQL-auth credentials to MSSQL (separate from Windows/M365 SSO is fine).
19+
- For database labs later in this plan: database credentials (SQLite works locally with no setup; PostgreSQL for production practice).
2020

2121
## Step-by-step lab pack
2222

@@ -27,7 +27,7 @@ Use one of these paths:
2727

2828
Important:
2929
- You can learn basics on mobile.
30-
- For advanced enterprise work (drivers, ETL jobs, dashboards, CI), desktop is required.
30+
- For advanced work (drivers, ETL jobs, dashboards, CI), desktop is required.
3131

3232
### Step 1 - Install Python
3333

06_SQL.md

Lines changed: 14 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
1-
# 06 - SQL Integration (MSSQL-First ETL for Reporting and Dashboards)
1+
# 06 - SQL Integration (SQL & ETL Pipelines for Reporting and Dashboards)
22
Home: [README](./README.md)
33

44
## Who this is for
55
- Learners moving from file automation to data pipelines.
6-
- Teams with MSSQL as a reporting backbone.
6+
- Teams with SQL databases as a reporting backbone.
77

88
## What you will build
9-
- A Python ETL pipeline that ingests validated records into MSSQL.
9+
- A Python ETL pipeline that ingests validated records into a SQL database.
1010
- Staging and reporting tables with idempotent loads.
1111
- A daily summary query output for dashboard use.
1212

@@ -35,8 +35,8 @@ Minimum metadata fields:
3535
- `idempotency_key`
3636

3737
### Lab 3 - Python connection strategy
38-
Preferred start: `pyodbc`.
39-
Optional scaling path: SQLAlchemy.
38+
Preferred start: `sqlite3` (built-in, no driver needed).
39+
Optional scaling path: SQLAlchemy (supports SQLite, PostgreSQL, and more).
4040

4141
Connection requirements:
4242
- no hardcoded secrets,
@@ -58,15 +58,15 @@ Generate query output by:
5858
Export summary to `output/daily_summary.csv` for dashboard consumption.
5959

6060
### Lab 6 - Custom reporting backend integration
61-
For your contractor-built MSSQL reporting DB:
61+
For an existing reporting database:
6262
- identify existing table contracts,
6363
- map your ETL output to existing schema,
6464
- avoid direct writes to unmanaged tables until schema ownership is clear.
6565

66-
### Lab 7 - Optional Oracle extension
67-
If Oracle sources are added later:
66+
### Lab 7 - Optional PostgreSQL extension
67+
If you scale beyond SQLite:
6868
- ingest to staging only first,
69-
- normalize data types to MSSQL-compatible forms,
69+
- normalize data types to PostgreSQL-compatible forms,
7070
- preserve source system metadata.
7171

7272
## Expected output
@@ -90,7 +90,7 @@ If Oracle sources are added later:
9090
- add indexes on date, severity, idempotency key.
9191

9292
## Mastery check
93-
You are ready for SolarWinds ingestion when you can:
93+
You are ready for API integration when you can:
9494
- explain your table contract,
9595
- rerun ETL safely,
9696
- recover from transient DB failures,
@@ -103,18 +103,17 @@ You are ready for SolarWinds ingestion when you can:
103103
- Teach-back: present ETL data flow and failure strategy.
104104

105105
## Primary Sources
106-
- [SQL Server Python drivers overview](https://learn.microsoft.com/en-gb/sql/connect/python/python-driver-for-sql-server)
107-
- [MSSQL Python quickstart](https://learn.microsoft.com/en-us/sql/connect/python/mssql-python/python-sql-driver-mssql-python-quickstart?view=sql-server-ver17)
108-
- [ODBC connection strings](https://learn.microsoft.com/en-us/sql/connect/odbc/dsn-connection-string-attribute?view=sql-server-ver17)
106+
- [SQLite documentation](https://www.sqlite.org/docs.html)
107+
- [PostgreSQL documentation](https://www.postgresql.org/docs/)
109108
- [SQLAlchemy tutorial](https://docs.sqlalchemy.org/en/20/tutorial/index.html)
110109

111110
## Optional Resources
112111
- [pyodbc project](https://github.com/mkleehammer/pyodbc)
113112
- [python-oracledb docs](https://python-oracledb.readthedocs.io/en/latest/user_guide/connection_handling.html)
114113

115-
## Enterprise sample schemas
114+
## Sample database schemas
116115
- Full schema pack for staging/reporting/cache/marts:
117-
- [13_ENTERPRISE_SAMPLE_SCHEMAS.md](./13_ENTERPRISE_SAMPLE_SCHEMAS.md)
116+
- [13_SAMPLE_DATABASE_SCHEMAS.md](./13_SAMPLE_DATABASE_SCHEMAS.md)
118117

119118
---
120119

08_DASHBOARDS.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,11 +6,11 @@ Home: [README](./README.md)
66
- Teams that need browser-only access to reporting and health data.
77

88
## What you will build
9-
- A browser-consumable dashboard backed by MSSQL cache tables.
9+
- A browser-consumable dashboard backed by database cache tables.
1010
- Filters, exports, and freshness indicators usable by operations teams.
1111

1212
## Prerequisites
13-
- Cache tables and summaries from [07_SOLARWINDS_ORION.md](./07_SOLARWINDS_ORION.md).
13+
- Cache tables and summaries from [07_MONITORING_API_INTEGRATION.md](./07_MONITORING_API_INTEGRATION.md).
1414
- Clean SQL summary outputs from [06_SQL.md](./06_SQL.md).
1515

1616
## Step-by-step lab pack
@@ -31,7 +31,7 @@ Examples:
3131
- export button.
3232

3333
### Step 3 - Add cache and data freshness
34-
- Query MSSQL cache first, not live APIs per request.
34+
- Query database cache first, not live APIs per request.
3535
- Display `last_refresh_utc` on every page.
3636
- Warn user when data is stale.
3737

@@ -50,7 +50,7 @@ Reference: [FastAPI tutorial](https://fastapi.tiangolo.com/tutorial/).
5050
### Step 6 - Deployment path options
5151
1. Local-only developer run.
5252
2. Internal server deployment for team use.
53-
3. Future option: host with existing MSSQL/ASP.NET server ecosystem if architecture and security review approves.
53+
3. Future option: host on cloud infrastructure if architecture and security review approves.
5454

5555
## Expected output
5656
- A dashboard accessible in browser with reliable and understandable data.

10_CAPSTONE_PROJECTS.md

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ Stretch goals:
4646
- config-driven schemas,
4747
- richer Excel formatting.
4848

49-
### Capstone B - ETL to MSSQL
49+
### Capstone B - ETL to SQL Database
5050
Business goal:
5151
- Move validated report data into durable SQL pipelines.
5252

@@ -77,12 +77,12 @@ Stretch goals:
7777
- SQLAlchemy migration path,
7878
- performance tuning and indexing.
7979

80-
### Capstone C - Orion + DPA Daily Ops Pipeline
80+
### Capstone C - Monitoring API Daily Ops Pipeline
8181
Business goal:
8282
- Ingest monitoring health data into reporting cache.
8383

8484
Inputs/outputs:
85-
- Orion and DPA API reads.
85+
- Monitoring API reads.
8686
- Outputs: cache tables + daily ops reports (xlsx/html).
8787

8888
Implementation milestones:
@@ -113,7 +113,7 @@ Business goal:
113113
- Deliver usable operational visibility to non-technical users.
114114

115115
Inputs/outputs:
116-
- MSSQL summary/cache data.
116+
- Database summary/cache data.
117117
- Output: browser UI with filters and exports.
118118

119119
Implementation milestones:
@@ -172,8 +172,8 @@ You are SME-ready when you can:
172172
- [Streamlit docs](https://docs.streamlit.io/get-started)
173173
- [Dash docs](https://dash.plotly.com/tutorial)
174174
- [FastAPI tutorial](https://fastapi.tiangolo.com/tutorial/)
175-
- [OrionSDK](https://github.com/solarwinds/OrionSDK)
176-
- [DPA API docs](https://documentation.solarwinds.com/en/success_center/dpa/content/dpa-use-the-api.htm)
175+
- [requests library](https://docs.python-requests.org/en/latest/)
176+
- [SQLAlchemy tutorial](https://docs.sqlalchemy.org/en/20/tutorial/index.html)
177177

178178
## Optional Resources
179179
- [Real Python](https://realpython.com/tutorials/python/)

11_CHECKLISTS.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Use before architecture reviews with experienced engineers:
5454
- [ ] Can explain your data flow in under 2 minutes.
5555
- [ ] Can justify staging vs reporting schema design.
5656
- [ ] Can explain idempotency strategy.
57-
- [ ] Can explain Orion/DPA cache strategy.
57+
- [ ] Can explain API data cache strategy.
5858
- [ ] Can explain security posture for credentials and access.
5959
- [ ] Can explain dashboard fallback behavior during outages.
6060

12_SCREENSHOT_CHECKPOINTS.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -66,10 +66,10 @@ Reflection prompts:
6666
- How did you verify idempotency?
6767
- What index or query improvement did you add?
6868

69-
### Phase 5 - Orion and DPA integration
69+
### Phase 5 - Monitoring API integration
7070
Capture screenshots of:
71-
1. Orion ingestion result snapshot.
72-
2. DPA ingestion result snapshot.
71+
1. Primary API ingestion result snapshot.
72+
2. Secondary API ingestion result snapshot.
7373
3. Cache table freshness timestamps.
7474

7575
Reflection prompts:

14_NAVIGATION_AND_STUDY_WORKFLOW.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,12 +11,12 @@ Use this file to keep study flow clean and avoid navigation friction.
1111
5. [09_QUALITY_TOOLING.md](./09_QUALITY_TOOLING.md)
1212
6. [05_AUTOMATION_FILES_EXCEL.md](./05_AUTOMATION_FILES_EXCEL.md)
1313
7. [06_SQL.md](./06_SQL.md)
14-
8. [07_SOLARWINDS_ORION.md](./07_SOLARWINDS_ORION.md)
14+
8. [07_MONITORING_API_INTEGRATION.md](./07_MONITORING_API_INTEGRATION.md)
1515
9. [08_DASHBOARDS.md](./08_DASHBOARDS.md)
1616
10. [10_CAPSTONE_PROJECTS.md](./10_CAPSTONE_PROJECTS.md)
1717
11. [11_CHECKLISTS.md](./11_CHECKLISTS.md)
1818
12. [12_SCREENSHOT_CHECKPOINTS.md](./12_SCREENSHOT_CHECKPOINTS.md)
19-
13. [13_ENTERPRISE_SAMPLE_SCHEMAS.md](./13_ENTERPRISE_SAMPLE_SCHEMAS.md)
19+
13. [13_SAMPLE_DATABASE_SCHEMAS.md](./13_SAMPLE_DATABASE_SCHEMAS.md)
2020
14. [14_NAVIGATION_AND_STUDY_WORKFLOW.md](./14_NAVIGATION_AND_STUDY_WORKFLOW.md)
2121

2222
## Elite extension sequence (after baseline completion)

0 commit comments

Comments
 (0)