My GSoC ’21 Journey: Week 8
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.
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
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 -
- Show all project activity in the Project Details Screen i.e. project-specific logs
- Show all team activity in Team Details Screen i.e. team-specific logs
- A separate project activity section where one can filter these activity logs to view category-specific and member-specific logs
- Each entity inside a project (image, label, model) has an option to view all changes done to it i.e entity-specific logs
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:
- Creating Redux actions and reducers for fetching project-specific, category-specific, member-specific, and entity-specific logs.
- Creating a Project Activity Screen to view these logs, with filtering options that work on basis of the props provided.
- Added recent activity section in Project Details and Team Details Screen.
- 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! :)