My GSoC ’21 Journey: Week 7

Amlan Kumar Nandy
SCoRe Lab
Published in
3 min readJul 23, 2021

--

This week, I started work on improving team management inside projects in the web application. Work on it was partially done during GSoC ’20, and I decided to refine it this summer by implementing a more detailed team structure, better division of tasks, and role-based access control.

If you’re new to my blogs, check out the previous ones to better understand what I’m doing.

Introductory Blog

Week 1: Migrating to Flutter 2.0 and implementing backend service selection

Week 2: Implementing project activity tracking

Week 3: Improving team management

Week 4: Building a team-wise chat system

Week 5: Documentation and testing

Week 6: Planning work on the frontend

Implementation

I worked on team management in the mobile and backend section of the project in the 3rd of GSoC itself. You can read about its details in my Week 3 blog here.

All I had to do this week was to implement those changes in the web application that I did in the mobile application back then. That includes -

  1. Implementing the functionality to view the details of a team (members, recent activity, etc)
  2. Implementing the functionality to create/edit/delete a team
  3. Implementing the functionality to add/remove members from/to a team
  4. Adding role-based access control i.e. specific actions within a project can only be done by members with a suitable role

For example - models can be added/deleted/edited only by members who have admin or models role

and some other minor changes.

Adding a Team Member
Editing a Team

Challenges Faced

While I had made contributions to my project before GSoC, they were mostly limited to the mobile and backend sections. So, the frontend codebase was very unfamiliar to me. Plus, the codebase used exclusively class-based components, while I had worked mostly with functional components before.

So while getting familiar with the codebase provided to be quite difficult initially, it eventually turned out to be a great learning experience, as I got to explore various new concepts such as HOCs, using redux with it, etc.

Signing Off

The work I’ve done this week can be seen in the PR provided below:

#613 — [Frontend] Improved Team Management

Next week, I’ll move on to implementing activity tracking inside projects in the web application! Hope you give it a read too. Until then, stay safe, and may the source be with you! :)

--

--

Amlan Kumar Nandy
SCoRe Lab

Software Engineer at Clumio, a SaaS-based startup focusing on Data Security for the Cloud. Love exploring new tech and collaborating with passionate people! :)