
The fourth week of the coding period has concluded successfully. This week, I majorly worked on implementing the filters (filtering tasks by status and by project), improving the mobile UI of the website for our users, and increasing the overall code test coverage of the frontend to over 75%+. Apart from this, I worked on refactoring the code for a better codebase and a good overall user experience. Here’s a detailed explanation of what I accomplished during this week:
- Added tests for theme controllers and the data types, structs of tasks, and other interfaces on the frontend.
- Fixed the console log errors on the frontend for better debugging.
- Fixed Date Entry Format: Earlier, the users could enter a date format other than
YYYY-MM-DD
, which led to incorrect addition of task to the clients. In order to fix this, I implemented a function to keep the check on the format of the date being entered by the user, and throw an error if they somehow enter the date in an incorrect format. - Filter Tasks by Status or Project: As soon as the tasks are fetched, the unique projects get added to the dropdown list, and users can select a project from that list to view the tasks for that specific project. Also, the users can select tasks based on the status, i.e.,
completed
,deleted
orpending
. - Mobile UI: Implemented a bottom bar that helps the users to easily navigate across the app when using a mobile phone. The bottom bar is dynamic and appears only on smaller screens. The users can navigate, and filter tasks using the Bottom Bar.
- Testing: Increased the overall test coverage of the Frontend to around 75%. Refactored the code by modulating the codebase, removing functions from the main components, and adding them to their respective utils, added tests along with this.
These are all the commits that I have made so far.
- It’s been a productive week with good progress made on the project. I look forward to continuing to add more features to the website. Next week, I plan to write better logs for the frontend and backend. I also plan on adding other utility features to the website for a better support with Taskwarrior.