Skip to content

Commit f509e1a

Browse files
committed
Add comprehensive implementation master plan for project structure and execution
1 parent fe54910 commit f509e1a

File tree

1 file changed

+176
-0
lines changed

1 file changed

+176
-0
lines changed

IMPLEMENTATION_PLAN.md

Lines changed: 176 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,176 @@
1+
# Comprehensive Implementation Master Plan
2+
3+
## Overview
4+
This document outlines the step-by-step execution plan to transform the *Data Science Analytical Handbook* from a collection of markdown files into a fully interactive, structured, and user-friendly static website hosted on GitHub Pages. It incorporates all tasks identified in the `CONTENT_REVIEW_PLAN.md`.
5+
6+
**Core Philosophy:** "Static Infrastructure, Dynamic Experience." We will use Jekyll's build-time features (Liquid, Data files) and client-side JavaScript to emulate dynamic app features without a backend.
7+
8+
**Repository Strategy:** We will proceed with a **Monorepo** structure initially to unify the brand and simplify maintenance. We will structure folders (`Best-Practices`, `Projects`) so they *can* be split into separate repositories later if needed, but for now, they will be integrated into the main site for better discoverability.
9+
10+
---
11+
12+
## Phase 0: Housekeeping & Quick Wins (Immediate Actions)
13+
**Goal:** Fix immediate quality issues, typos, and file naming conventions to establish a clean baseline.
14+
15+
### 0.1 File Renaming & Cleanup
16+
* **Task:** Rename files for better SEO and clarity.
17+
* **Actions:**
18+
1. `Simulations/Hands-On-Statitistics.ipynb``Simulations/Hands-On-Statistics.ipynb` (Fix Typo).
19+
2. `_pages/foundational_knowledge/1.md``_pages/foundational_knowledge/1-statistics-probability.md`.
20+
3. `_pages/foundational_knowledge/3.md``_pages/foundational_knowledge/3-python-analysis.md`.
21+
4. Update all internal links referencing these files.
22+
23+
### 0.2 Initial Content Stubs
24+
* **Task:** Create placeholder files for missing content to ensure navigation links work.
25+
* **Actions:**
26+
1. Create `supplementary/sql-cheat-sheet.md`.
27+
2. Create `supplementary/statistics-cheat-sheet.md`.
28+
3. Create `_pages/interview_preparation/interview-day-checklist.md`.
29+
30+
---
31+
32+
## Phase 1: Infrastructure & Metadata Standardization (The Foundation)
33+
**Goal:** Establish a consistent data structure across all content to enable advanced filtering, sorting, and navigation.
34+
35+
### 1.1 Standardize Front Matter
36+
* **Task:** Audit and update the YAML front matter of every `.md` file.
37+
* **Schema:**
38+
```yaml
39+
---
40+
layout: page
41+
title: "Page Title"
42+
permalink: /path/to/page/
43+
nav_order: 1
44+
parent: "Category Name" (Optional)
45+
difficulty: "Beginner" | "Intermediate" | "Advanced"
46+
estimated_time: "15 mins"
47+
tags: [SQL, Python, Strategy]
48+
track: "Product Analytics" | "Data Engineering" | "Interview Prep"
49+
---
50+
```
51+
* **Action:** Update all pages to include `estimated_time` and `difficulty`.
52+
53+
### 1.2 Data-Driven Navigation
54+
* **Task:** Move navigation logic out of `_includes/sidebar.html` and into a data file.
55+
* **Action:**
56+
1. Create `_data/navigation.yml`.
57+
2. Define the menu structure (nested items) to support expandable sub-menus.
58+
3. Rewrite `_includes/sidebar.html` to iterate through `site.data.navigation`.
59+
60+
### 1.3 Search Functionality
61+
* **Task:** Enable site-wide search.
62+
* **Action:**
63+
1. Implement `lunr.js` or `simple-jekyll-search` for client-side search.
64+
2. Add a search bar to the sidebar or header.
65+
66+
---
67+
68+
## Phase 2: Content Restructuring & Learning Tracks (The Structure)
69+
**Goal:** Allow users to consume content by "Goal" (Track) or "Skill" rather than just file folder structure.
70+
71+
### 2.1 Implement Learning Tracks
72+
* **Task:** Create dedicated landing pages for different user personas.
73+
* **Action:**
74+
1. Create `_data/tracks.yml` defining tracks (e.g., "The 21-Day Sprint", "Deep Dive Engineering", "Product Strategy").
75+
2. Create `_pages/tracks/index.md` as a dashboard.
76+
3. Integrate `Best-Practices/` content into the "Data Engineering" track.
77+
78+
### 2.2 Skills Matrix & Progress Tracking
79+
* **Task:** Create a "Tag Cloud" and simple progress tracking.
80+
* **Action:**
81+
1. Create `_pages/skills.md` to list content by tag.
82+
2. Implement a simple "Mark as Complete" button using `localStorage` (Client-side only) to track progress across sessions.
83+
84+
---
85+
86+
## Phase 3: Interactivity & Tools (The "No-Backend" Features)
87+
**Goal:** Replace static reading with active doing.
88+
89+
### 3.1 Interactive Calculators (JavaScript)
90+
* **Task:** Port utility logic to client-side JS.
91+
* **Action:**
92+
1. Create `_pages/tools/sample-size-calculator.md`.
93+
2. Embed HTML forms and JavaScript to calculate A/B test sample sizes.
94+
95+
### 3.2 Interactive Quizzes
96+
* **Task:** Add knowledge checks at the end of chapters.
97+
* **Action:**
98+
1. Create `_data/quizzes.yml`.
99+
2. Create `_includes/quiz_widget.html`.
100+
3. Add quizzes to SQL and Python pages.
101+
102+
### 3.3 Simulation Visualizations
103+
* **Task:** Visualize probability concepts.
104+
* **Action:**
105+
1. Create `_pages/simulations/distributions.md`.
106+
2. Use **Chart.js** to render interactive Normal/Binomial distributions.
107+
108+
---
109+
110+
## Phase 4: Content Expansion & Gap Filling
111+
**Goal:** Address the "Sparse" and "Incomplete" areas identified in the review.
112+
113+
### 4.1 Expand Core Pages
114+
* **Task:** Flesh out placeholders.
115+
* **Action:**
116+
1. **Conclusion:** Expand `_pages/conclusion.md` with career growth advice.
117+
2. **Appendix:** Convert `_pages/appendix.md` to a "Data Science Glossary" (Terms A-Z).
118+
3. **Real World Distributions:** Complete `supplementary/real-world-data-distributions.md` with the visualizations from Phase 3.3.
119+
4. **Statistics:** Expand `1-statistics-probability.md` with worked examples.
120+
121+
### 4.2 Create Cheat Sheets & Checklists
122+
* **Task:** Create high-value reference materials.
123+
* **Action:**
124+
1. **SQL Cheat Sheet:** Fill `supplementary/sql-cheat-sheet.md` with JOINs, Window Functions, etc.
125+
2. **Stats Cheat Sheet:** Fill `supplementary/statistics-cheat-sheet.md` with formulas.
126+
3. **Interview Checklist:** Fill `_pages/interview_preparation/interview-day-checklist.md`.
127+
128+
---
129+
130+
## Phase 5: Project & Notebook Integration
131+
**Goal:** Showcase the "Hands-On" aspect effectively.
132+
133+
### 5.1 Notebook Rendering strategy
134+
* **Task:** Display `.ipynb` files natively in the static site.
135+
* **Action:**
136+
1. Set up GitHub Action to convert notebooks to Markdown.
137+
2. Ensure `Simulations/Hands-On-Statistics.ipynb` renders correctly.
138+
139+
### 5.2 New Hands-On Projects
140+
* **Task:** Create new project repositories/folders.
141+
* **Action:**
142+
1. **Customer Churn:** Create `Analytical-HandsOn-Projects/Customer_Churn_Project/` (Notebook + Data).
143+
2. **Cohort Analysis:** Create `Analytical-HandsOn-Projects/Cohort_Analysis_Project/`.
144+
3. **A/B Testing:** Create `Analytical-HandsOn-Projects/AB_Test_Project/`.
145+
146+
### 5.3 Streamlit App Integration
147+
* **Task:** Link to external app.
148+
* **Action:**
149+
1. Deploy `streamlit_app/` to Streamlit Cloud.
150+
2. Add "Live App" link in the Handbook's navigation.
151+
152+
---
153+
154+
## Phase 6: Quality Assurance & Deployment
155+
**Goal:** Ensure stability.
156+
157+
### 6.1 CI/CD Maintenance
158+
* **Task:** Keep the workflows green.
159+
* **Action:**
160+
1. Monitor `html-validate` as we add new JS widgets.
161+
2. Monitor `markdown-link-check` as we reorganize folders.
162+
163+
### 6.2 SEO & Analytics
164+
* **Task:** Make the site discoverable.
165+
* **Action:**
166+
1. Configure `jekyll-seo-tag`.
167+
2. Add Google Analytics.
168+
169+
---
170+
171+
## Execution Roadmap (Next Steps)
172+
173+
1. **Immediate:** Execute **Phase 0** (Renames & Stubs).
174+
2. **Short Term:** Execute **Phase 1.2** (Navigation Refactor).
175+
3. **Mid Term:** Build the "Sample Size Calculator" (Phase 3.1).
176+
4. **Long Term:** Write missing content (Phase 4).

0 commit comments

Comments
 (0)