Skip to content

Commit 02c4006

Browse files
authored
gsoc 25 week 11 update by nikhil (#388)
1 parent d352f50 commit 02c4006

File tree

5 files changed

+96
-4
lines changed

5 files changed

+96
-4
lines changed

src/constants/MarkdownFiles/posts/2025-08-03-gsoc-25-Nikhil-Bhatt-week09.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ date: "2025-08-03"
66
slug: "2025-08-03-gsoc-25-nikhilbhatt-week09"
77
author: "@/constants/MarkdownFiles/authors/nikhil-bhatt.md"
88
tags: "gsoc25,sugarlabs,week09,nikhilbhatt"
9-
image: "assets/Images/GSOC.png"
9+
image: "assets/Images/GSOC.webp"
1010
---
1111

1212
<!-- markdownlint-disable -->
@@ -38,13 +38,13 @@ To overcome the GitHub API rate-limiting issue, I implemented a **new route** th
3838

3939
After integrating the new theme feature and the authenticated repository fetch route, I updated the Projects page to showcase these enhancements in action. You can now see repository themes displayed alongside project descriptions, making it easier for users to visually identify and filter projects.
4040

41-
![Projects page](assets/Developers/Nikhil/projectPage.png)
41+
![Projects page](assets/Developers/Nikhil/projectPage.webp)
4242

4343
## Actual GitHub repository created in Music Blocks project account
4444

4545
Here's an example of a repository actually created in the Music Blocks GitHub organization using the new backend functionality. The topics we added (themes) are visible directly in GitHub's About section, showcasing that the integration works end-to-end.
4646

47-
![GitHub repo](assets/Developers/Nikhil/github-repo.png)
47+
![GitHub repo](assets/Developers/Nikhil/github-repo.webp)
4848

4949
---
5050

src/constants/MarkdownFiles/posts/2025-08-10-gsoc-25-Nikhil-Bhatt-week10.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ date: "2025-08-10"
66
slug: "2025-08-10-gsoc-25-nikhilbhatt-week10"
77
author: "@/constants/MarkdownFiles/authors/nikhil-bhatt.md"
88
tags: "gsoc25,sugarlabs,week10,nikhilbhatt"
9-
image: "assets/Images/GSOC.png"
9+
image: "assets/Images/GSOC.webp"
1010
---
1111

1212
<!-- markdownlint-disable -->
Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,92 @@
1+
---
2+
title: "GSoC '25 Week 11 Update by Nikhil Bhatt"
3+
excerpt: "Focused on writing detailed backend and frontend documentation for MusicBlocks, improving developer onboarding and API clarity."
4+
category: "DEVELOPER NEWS"
5+
date: "2025-08-17"
6+
slug: "2025-08-17-gsoc-25-nikhilbhatt-week11"
7+
author: "@/constants/MarkdownFiles/authors/nikhil-bhatt.md"
8+
tags: "gsoc25,sugarlabs,week11,nikhilbhatt"
9+
image: "assets/Images/GSOC.webp"
10+
---
11+
12+
<!-- markdownlint-disable -->
13+
14+
# Week 11 Progress Report by Nikhil Bhatt
15+
16+
**Project:** [Git backend for MusicBlocks](https://github.com/benikk/musicblocks-backend)
17+
**Mentors:** [Walter Bender](https://github.com/walterbender), [Sumit Srivastava](https://github.com/sum2it)
18+
**Reporting Period:** 2025-08-11 – 2025-08-17
19+
20+
---
21+
22+
## This Week's Achievements
23+
24+
This week was heavily centered on **documentation** for both the backend and frontend of MusicBlocks. The goal was to make the project easier to understand, set up, and contribute to for future developers.
25+
26+
### **Backend Documentation**
27+
- Wrote a comprehensive README detailing the backend's purpose, high-level design, and tech stack (Node.js, Express, TypeScript).
28+
- Documented **all API endpoints** with request/response examples:
29+
- `create`, `edit`, `fork`, `forkHistory`, `create-pr`, `openPR`, `commitHistory`, `getProjectData`, etc.
30+
- Added detailed **setup and configuration instructions**, including GitHub App requirements and `.env` variables.
31+
- Described **metadata file structure** (`projectData.json`, `metaData.json`) and their role in authentication and PR workflows.
32+
- Included **security best practices** and notes for production readiness.
33+
- Added developer instructions for **building, linting, and running tests**.
34+
35+
### **Frontend Documentation**
36+
- Created a dedicated guide explaining **how the frontend integrates with the Git-backed backend**.
37+
- Documented **UI flows** (initialize repo, push changes, fork, browse projects, download ZIPs).
38+
- Mapped out **frontend API contracts**, including expected shapes for `getProjectData` vs `getProjectDataAtCommit`.
39+
- Described **localStorage keys** used by the frontend and their purpose.
40+
- Added **manual test checklist** and troubleshooting tips.
41+
- Clarified **legacy Planet server** replacement strategy and GitHub-based workflows.
42+
43+
### **Developer Experience Improvements**
44+
- Consolidated documentation into a structured format, covering both **high-level workflows** and **low-level API details**.
45+
- Added diagrams and examples to reduce ambiguity for new contributors.
46+
- Made the docs self-contained: anyone can now set up backend + frontend and understand the full flow without tribal knowledge.
47+
48+
---
49+
50+
## Challenges & How I Solved Them
51+
52+
- **Challenge:** Explaining complex Git-backed workflows clearly for both backend and frontend.
53+
**Solution:** Used request/response examples, flow diagrams, and separated sections for quick starts vs deep dives.
54+
55+
- **Challenge:** Ensuring documentation reflects **actual code behavior** accurately.
56+
**Solution:** Verified each API contract and frontend integration manually, creating a **manual test checklist** to validate workflows.
57+
58+
- **Challenge:** Maintaining consistency between backend and frontend docs.
59+
**Solution:** Standardized naming conventions and cross-referenced related sections in both documentation sets.
60+
61+
---
62+
63+
## Key Learnings
64+
65+
- Writing clear, detailed documentation is as impactful as writing code — it **lowers the barrier to entry** for future contributors.
66+
- Learned how to **document APIs effectively**, including authentication flows, request shapes, and edge cases.
67+
- Realized the importance of documenting **project history and future improvements**, making the project more maintainable.
68+
69+
---
70+
71+
## Next Week's Roadmap
72+
73+
- Collect feedback from mentors and community on the documentation usability.
74+
- Add **deployment and CI/CD guides** for backend and frontend.
75+
- Continue refining contributor guides (including coding standards and PR workflows).
76+
77+
---
78+
79+
## Resources & References
80+
81+
- [MusicBlocks Frontend Repo](https://github.com/sugarlabs/musicblocks)
82+
- [musicblocks-backend](https://github.com/benikk/musicblocks-backend)
83+
- [octokit GitHub SDK](https://github.com/octokit/octokit.js)
84+
- [JSDoc](https://jsdoc.app/)
85+
86+
---
87+
88+
## Acknowledgments
89+
90+
Thanks to my mentors and the Sugar Labs community for providing feedback and guidance while drafting the documentation.
91+
This week’s work makes the MusicBlocks Git backend easier to adopt and extend — a key step towards long-term sustainability and community contributions.
92+

0 commit comments

Comments
 (0)