This PR implements the Project Activity Tracking System in the Mobile Application, using the backend features implemented in #604 . The detailed changes are listed below commit-wise:
Commit 1
Created Log model
Added recent activtity logs list to Project model
Commit 2
Created recent activity section in ProjectDetailsScreen which shows last 5 logs of the project
Added a 'More' button option which goes to an empty ProjectActivityScreen when clicked
Created routing for the ActivityLogsScreen
Commit 3
Created route for fetching all activity logs of a project
Created a ProjectActivityBloc and ProjectActivityState for state management
Implemented the functionality to view all activity logs in ProjectActivityScreen
Commit 4
Added a loading indicator in ProjectActivityScreen
Implemented color coding in logs in ProjectActivityScreen
Commit 5
Created UI for the filters bottom sheet
Created a reusable dropdown widget
Commit 6
Used ProjectDetailBloc in the bottom sheet to get names of all project members for member-specific filtering
Replaced text field for member name with dropdown for better experience
Commit 7
Implemented routes for fetching category-specific and member-specific logs
Completed the filtering functionality in ProjectActivityScreen
Commit 8
Ran into a small issue during development. That in the logs controller in API, we were fetching member specific logs using user_id. But in the ProjectDetailBloc, we only had email of members.
So, I modified the API route to fetch member logs using email
Commit 9
Implemented the functionality to view logs specific to a particular entity (image, model, label etc).
Implemented the route to fetch entity specific logs
Created a new to route to view ProjectActivityScreen only for entities
Added functionality to view these logs for models, images and labels.
Commit 10
Added a empty placeholder in ProjectActivityScreen to show when there are no logs.
Fixes #593
Type of change
[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
Description
This PR implements the Project Activity Tracking System in the Mobile Application, using the backend features implemented in #604 . The detailed changes are listed below commit-wise:
Commit 1
Commit 2
Commit 3
Commit 4
Commit 5
Commit 6
Commit 7
Commit 8
Commit 9
Commit 10
Fixes #593
Type of change
How Has This Been Tested?
Demo video has been provided below
Test Configuration:
https://user-images.githubusercontent.com/45410599/121487751-064d5f00-c9f0-11eb-9c9c-55d2b236db26.mp4
Checklist: