Skip to content

Commit a9cca9f

Browse files
travisjneumanclaude
andcommitted
refactor: rename enterprise holdover directories to generic names
- mssql-connection-simulator → sql-connection-simulator - orion-query-adapter → api-query-adapter - dpa-api-adapter → monitoring-api-adapter Updated all references in READMEs, navigation links, curriculum docs, and rebuild_navigation.py tooling. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent 18d0dbe commit a9cca9f

25 files changed

Lines changed: 156 additions & 43 deletions

File tree

CONTRIBUTING.md

Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
# Contributing to learn.python
2+
3+
Thanks for your interest in improving this curriculum. Whether you are fixing a typo, reporting a broken test, or proposing a new project, your contribution helps every learner who comes after you.
4+
5+
## How to Report Issues
6+
7+
Use the [issue templates](https://github.com/travisjneuman/learn.python/issues/new/choose) to report:
8+
9+
- **Bug reports** — broken links, failing tests, code errors
10+
- **Feature requests** — new projects, modules, or curriculum improvements
11+
- **Curriculum feedback** — unclear explanations, typos, suggested rewrites
12+
13+
## How to Submit a Pull Request
14+
15+
1. Fork the repository
16+
2. Create a branch from `main` (`git checkout -b your-branch-name`)
17+
3. Make your changes
18+
4. Run tests if applicable (`python -m pytest`)
19+
5. Open a pull request against `main`
20+
21+
Keep pull requests focused. One fix or one feature per PR is easier to review than a grab bag of changes.
22+
23+
## Code Style
24+
25+
This is an educational repository. Writing style matters as much as code style.
26+
27+
- **Plain language first.** Explain concepts the way you would to a friend who has never coded.
28+
- **Hands-on before theory.** Show the code, then explain why it works.
29+
- **No jargon without explanation.** If you use a technical term, define it on first use.
30+
- **Python code** should pass `ruff check` and `black --check`.
31+
32+
## Project Structure Conventions
33+
34+
Follow the existing structure for the level you are contributing to:
35+
36+
**level-00 (Absolute Beginner)**
37+
```
38+
project-name/
39+
exercise.py
40+
TRY_THIS.md
41+
```
42+
43+
**level-0 through level-10 and expansion modules**
44+
```
45+
project-name/
46+
README.md
47+
project.py
48+
tests/
49+
notes.md
50+
```
51+
52+
## Testing Expectations
53+
54+
- Projects from Level 0 onward should include pytest tests in a `tests/` directory.
55+
- Tests should verify actual behavior, not hard-code expected outputs.
56+
- Run `python -m pytest tests/` from the project directory to confirm tests pass.
57+
58+
## Curriculum Consistency
59+
60+
- Follow the existing level sequence. Do not introduce concepts out of order.
61+
- Match the format of neighboring documents and projects.
62+
- Every document should have navigation links (Previous / Home / Next) at the bottom.
63+
- New projects should include a README explaining what the learner builds and why.
64+
65+
## Questions?
66+
67+
Open an issue. There are no silly questions in a learning repo.

LICENSE

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
MIT License
2+
3+
Copyright (c) 2025 Travis Neuman
4+
5+
Permission is hereby granted, free of charge, to any person obtaining a copy
6+
of this software and associated documentation files (the "Software"), to deal
7+
in the Software without restriction, including without limitation the rights
8+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9+
copies of the Software, and to permit persons to whom the Software is
10+
furnished to do so, subject to the following conditions:
11+
12+
The above copyright notice and this permission notice shall be included in all
13+
copies or substantial portions of the Software.
14+
15+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21+
SOFTWARE.

curriculum/30_LEVEL_6_TO_8_DEEP_GUIDE.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ Master SQL reliability, monitoring API integration behavior, and browser-first d
2525

2626
## Level-6 run pattern (SQL-focused)
2727
```bash
28-
cd <repo-root>/projects/level-6/01-mssql-connection-simulator
28+
cd <repo-root>/projects/level-6/01-sql-connection-simulator
2929
python project.py --input data/sample_input.txt --output data/output_summary.json
3030
pytest -q
3131
```
@@ -38,7 +38,7 @@ Expected output:
3838

3939
## Level-7 run pattern (API integration focused)
4040
```bash
41-
cd <repo-root>/projects/level-7/01-orion-query-adapter
41+
cd <repo-root>/projects/level-7/01-api-query-adapter
4242
python project.py --input data/sample_input.txt --output data/output_summary.json
4343
pytest -q
4444
```

projects/level-6/01-mssql-connection-simulator/README.md renamed to projects/level-6/01-sql-connection-simulator/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ Goal: run the baseline, alter behavior, break one assumption, recover safely, an
1212
Use `<repo-root>` as the folder containing this repository's `README.md`.
1313

1414
```bash
15-
cd <repo-root>/projects/level-6/01-mssql-connection-simulator
15+
cd <repo-root>/projects/level-6/01-sql-connection-simulator
1616
python project.py --input data/sample_input.txt --output data/output_summary.json
1717
pytest -q
1818
```

projects/level-6/01-mssql-connection-simulator/data/sample_input.txt renamed to projects/level-6/01-sql-connection-simulator/data/sample_input.txt

File renamed without changes.

projects/level-6/01-mssql-connection-simulator/notes.md renamed to projects/level-6/01-sql-connection-simulator/notes.md

File renamed without changes.

projects/level-6/01-mssql-connection-simulator/project.py renamed to projects/level-6/01-sql-connection-simulator/project.py

File renamed without changes.

projects/level-6/01-mssql-connection-simulator/tests/test_project.py renamed to projects/level-6/01-sql-connection-simulator/tests/test_project.py

File renamed without changes.

projects/level-6/02-staging-table-loader/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -67,5 +67,5 @@ You can move on when you can:
6767

6868
---
6969

70-
| [← Prev](../01-mssql-connection-simulator/README.md) | [Home](../../../README.md) | [Next →](../03-idempotency-key-builder/README.md) |
70+
| [← Prev](../01-sql-connection-simulator/README.md) | [Home](../../../README.md) | [Next →](../03-idempotency-key-builder/README.md) |
7171
|:---|:---:|---:|

projects/level-6/README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ Home: [README](../../README.md)
55
Design SQL-friendly ETL patterns with idempotency and operational safeguards.
66

77
## Projects
8-
- [01-mssql-connection-simulator](./01-mssql-connection-simulator/README.md) - SQL Connection Simulator
8+
- [01-sql-connection-simulator](./01-sql-connection-simulator/README.md) - SQL Connection Simulator
99
- [02-staging-table-loader](./02-staging-table-loader/README.md) - Staging Table Loader
1010
- [03-idempotency-key-builder](./03-idempotency-key-builder/README.md) - Idempotency Key Builder
1111
- [04-upsert-strategy-lab](./04-upsert-strategy-lab/README.md) - Upsert Strategy Lab

0 commit comments

Comments
 (0)