Designed a complete software engineering package for a Todoist-like task management system.
Todoist is a popular productivity and task management application that helps individuals and teams organize their daily tasks, set priorities, collaborate on projects, and track progress through a clean and intuitive interface.
Our project aimed to replicate its core functionality while focusing on the software engineering process and system design rather than implementation. As a team member, I contributed to building a comprehensive set of deliverables that covered every stage from requirements gathering to UI prototyping.
The work included:
• Requirements documentation: Detailed functional and non-functional requirements, user stories, and prioritization to capture the system’s expected behavior and quality attributes.
• System modeling and UML/DFD diagrams: Use case diagrams, activity diagrams, class diagrams, sequence diagrams, context diagrams, and DFD levels (DFD0, DFD1) to illustrate both the static structure and dynamic behavior of the system.
• Database design: Logical and physical ERD models, along with a preliminary SQL schema draft to define the data layer.
• UI/UX prototyping: Wireframes (low-fidelity, black-and-white) to sketch the core interactions, and high-fidelity mockups (full color) created in Figma to visualize the final interface.
• User flows to demonstrate how different the users navigate through the system.
This end-to-end engineering package resulted in a blueprint for future development that could be handed to a software team for implementation. It reflects the ability to analyze, design, and document a complete software system using industry-standard tools and practices