Skip to content

Commit 5dbef0b

Browse files
BeNikkjustin212407
authored andcommitted
gsoc 25 week 07 update by Nikhil (sugarlabs#331)
* gsoc 25 week 07 update by Nikhil * fixes: Gsoc 25 week 7 update by Nikhil * fix: gsoc 25 week 7 update by Nikhil
1 parent 2365a5b commit 5dbef0b

File tree

1 file changed

+80
-0
lines changed

1 file changed

+80
-0
lines changed
Lines changed: 80 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
---
2+
title: "GSoC '25 Week 07 Update by Nikhil Bhatt"
3+
excerpt: "Implemented forking of projects in the frontend, backend route for returning project data only, and student descriptions for projects"
4+
category: "DEVELOPER NEWS"
5+
date: "2025-07-20"
6+
slug: "2025-07-20-gsoc-25-nikhilbhatt-week07"
7+
author: "@/constants/MarkdownFiles/authors/nikhil-bhatt.md"
8+
tags: "gsoc25,sugarlabs,week07,nikhilbhatt"
9+
image: "assets/Images/GSOC.png"
10+
---
11+
12+
<!-- markdownlint-disable -->
13+
14+
# Week 07 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-07-13 – 2025-07-20
19+
20+
---
21+
22+
## This Week's Achievements
23+
24+
### Backend: Project data end point
25+
26+
- Created a new backend route that returns project data of projects without forking them `GET/api/github/getProjectData`.
27+
Earlier, when we used to click "Open in Music blocks" in the projects page, a shallow fork of the project (without all the project history)
28+
used to get created, the route helps in only returning the projectData which is loaded to musicblocks allowing students to see first and then
29+
decide whether to fork or not.
30+
31+
- Custom description for the project - This change allows student to add descriptions to their projects, similar to what they did in the planet page.
32+
33+
---
34+
35+
### Frontend: Forking projects & Student written Description for Projects
36+
37+
- Fork Button in UI: Users now see a "Fork This Project" button while inside any project.
38+
- It also retains all commit history from the original repository in the fork.
39+
- Allows student to edit the forked projects in their own repo to work further on others projects.
40+
- Students can also enter the description for their projects when creating their projects, also visible in the projects page.
41+
---
42+
43+
## Challenges & How I Solved Them
44+
45+
- **Challenge:** Handling local saved states for identifying projects with their keys.
46+
**Solution:** We are replacing the repoName and its key when a project is forked, discussion on this approach is still in progress.
47+
48+
- **Challenge:** Managing clear separation between forking and opening a project in Music Blocks.
49+
**Solution:** Created a separate end point which only returns the projectData, no forking initially, will save loading time as well as un-necessary repository creation.
50+
51+
---
52+
53+
## Key Learnings
54+
- Understanding the importance of UX clarity when introducing forking systems.
55+
- How forks inherit full Git commit histories and the implications for educational use-cases, reflective journey in particular.
56+
- Value of allowing students to describe their projects for documentation and self-reflection.
57+
58+
---
59+
60+
## Next Week's Roadmap
61+
- Begin work on downloading and sharing of projects.
62+
- Conceptualise creating pull requests and an option to see them Music Blocks.
63+
- Discuss on working on multiple projects simultaneously.
64+
65+
66+
---
67+
68+
## Resources & References
69+
70+
- [MusicBlocks Frontend Repo](https://github.com/sugarlabs/musicblocks)
71+
- [musicblocks-backend](https://github.com/benikk/musicblocks-backend)
72+
- [Octokit REST.js Library](https://github.com/octokit/rest.js)
73+
74+
---
75+
76+
## Acknowledgments
77+
78+
Thanks again to my mentors and the Sugar Labs community for feedback and support!
79+
Looking forward to next week’s frontend PR features.
80+

0 commit comments

Comments
 (0)