My GSoC ’21 Journey: Week 8

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

--

Having started work on the web application last week, now I’m diving even deeper into its codebase and implementing one of the core features that I had planned this summer, project activity tracking!

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

Week 7: Improving team management in frontend

Implementing Project Activity Tracking

If you didn’t get the time to check out my previous GSoC blogs, at least give the Week 2 blog a look here, in which I implemented the backend and mobile section of Project Activity Tracking, as it is crucial to understand the rest of the blog.

As the name suggests, the main purpose here is to track all activity inside a project, such

  • Adding/removing members to the project
  • Creating images and labels
  • Add/removing/labeling images
  • Creating/training model

and much more…

With the backend implementation already done, all that was left was to implement it in the frontend. The goal was to -

  1. Show all project activity in the Project Details Screen i.e. project-specific logs
  2. Show all team activity in Team Details Screen i.e. team-specific logs
  3. A separate project activity section where one can filter these activity logs to view category-specific and member-specific logs
  4. Each entity inside a project (image, label, model) has an option to view all changes done to it i.e entity-specific logs
Viewing all activity for a project, team, category, member, or entity

Impressions

Having grown accustomed to the codebase as well as working with class-based components, this week’s implementation was pretty straightforward. My work can be summarized the in following steps:

  1. Creating Redux actions and reducers for fetching project-specific, category-specific, member-specific, and entity-specific logs.
  2. Creating a Project Activity Screen to view these logs, with filtering options that work on basis of the props provided.
  3. Added recent activity section in Project Details and Team Details Screen.
  4. Added option in images, labels, and models which redirect to Project Activity Screen showing logs specific to them.

Signing Off

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

#613 — [Frontend] Implemented Project Activity Tracking

Next week, I’ll move on to implementing a team-wise chat system 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! :)