GitoDo - Software Studio Final Project

Selected Project

Introduciton

index.png Pic. GitoDo Index Page

GitoDo: A Git-Inspired Todo List Application

GitoDo is a reminder application that draws inspiration from the concept of Git. Current reminder apps face several limitations. Most of them fail to effectively manage branch todo lists for main topics and provide only basic task assignment functionality, lacking true collaboration features. Our goal is to create a comprehensive todo list application that allows users to organize their tasks using topics and facilitates collaboration among individuals in study groups or with shared goals.

Key Issues Addressed

  • Inability to Create Sublists about Same Topic
    Many existing todo list apps lack the capability to create sublists or branches, limiting the ability to extend or create new objectives.

  • Limited Share Function
    Current sharing features in todo list apps only allow task assignment, falling short in supporting multiple individuals working towards the same objectives collaboratively.

Git introduces the concept of main and branch repositories, and GitoDo leverages this idea. Users can create multiple main repositories for todo lists related to the same topic. This enables people within the same todo list to share tasks, collectively work on todos, and track each other's progress within GitoDo. All todo lists are stored on servers, giving users the option to make them public or private. When a todo list is made public, anyone can search for it, view its contents, and make modifications based on their own progress.

Why GitoDo?

  • Why Not Just Create Multiple Topics?
    While creating multiple topics may seem like a solution, it overlooks the potential interrelatedness between different topics, which existing solutions fail to highlight.

  • Why Not Use Existing Copy Functions?
    The current method of copying is cumbersome, involving sharing and then duplicating tasks to a user's list, without providing visibility into others' progress.

  • Why This Approach?
    Existing solutions have not adequately addressed the need for seamless collaboration and branching, leading to difficulties in multi-user sharing and branching.

Key Features

  • Organized Branching
    GitoDo provides an intuitive way to showcase the relationship between tasks by separating them based on topics.

  • Collaboration
    The application supports real-time progress tracking among users, enabling synchronization of branches and ensuring that all individuals share the same set of tasks.

  • Search and Modify Other Branches
    Users can search for and copy branches, allowing them to customize and adapt predefined steps towards their objectives.

GitoDo reimagines todo list management by harnessing the power of Git's branching system, offering a comprehensive and collaborative solution for users to organize and achieve their goals more effectively.

Result

  • Mid-Award
    • Highest Novelty
      (The most novel idea compared to existing solutions to the target problem)
    • Best Prototype
      (The most well-designed prototype that realizes the idea and avoids key issues)
    • Deepest Interview
      (The interview/test that gives the most insights to the problem, idea, or design)

  • Final-Award
    • Most Complete
    • Best Design
    • Most potential

My role in this project

In this project, my primary role encompassed various aspects of design and development, focusing on creating a seamless user experience and ensuring the functionality of the application. Here's a breakdown of my responsibilities:

UI/UX Conceptualization and Prototyping

My initial role involved conceiving and crafting the User Interface (UI) and User Experience (UX) for the GitoDo application. I worked on creating the blueprint that defined how users would interact with the application. This included designing the layout, navigation, and overall visual aesthetics to provide an intuitive and engaging user experience.

whiteboard.png Pic. Discussion Board (Early Phase)

Function Development

In addition to the UI/UX design, I was deeply involved in shaping the functionality of the GitoDo application. This entailed outlining the features and capabilities of the app, ensuring that it meets the project's objectives and user requirements. I worked on defining how various functions would operate within the application.

prototype-addbranch.png Pic. Prototype - Add Branch

UI Design and Front-End Development

One of my core responsibilities in the development phase was the UI design and front-end development of the application. I brought the UI/UX prototypes to life by translating design concepts into code. This involved creating responsive and user-friendly interfaces, implementing animations, and ensuring that the application was visually appealing and user-centric.

demo-overview.png Pic. Product Demo (Overview) demo-branch.png Pic. Product Demo (Branch View) demo-task.png Pic. Product Demo (Task View)

Addressing Network Request Conflict Issues (Back-End)

On the back-end side, I took on the critical responsibility of addressing network request conflict issues on the server side. This involved managing and resolving conflicts that may arise when multiple users access and interact with the application simultaneously. By handling these issues, I contributed to the overall stability and reliability of GitoDo.

Leadership and Presentation

This leadership role provided me with a valuable opportunity to further develop my skills in project management and presentation. I guided the team through the various phases of the project, ensuring that everyone was aligned with the project's goals and deadlines. Additionally, I took on the responsibility of presenting our progress and findings to stakeholders and peers, refining my ability to communicate complex technical concepts effectively.

My role in this project combined creativity and technical expertise to deliver a well-designed, fully functional, and reliable application that meets the needs of our users.

Review

This project has been a pivotal experience that has shaped my journey into the fields of UI/UX design, software engineering, and leadership. The challenges I encountered, from crafting user-friendly interfaces to optimizing server-side network request processing, underscored the delicate interplay between front-end aesthetics and back-end functionality. I learned that in UI/UX design, user surveys and interviews are as crucial as functionality discussions. As the project progressed, I recognized the significance of addressing intricate software development and design nuances. Adapting and refining design and development iteratively, although demanding, proved to be an engaging process. Simultaneously, I became aware of my areas for improvement, particularly in team leadership and enhancing team efficiency. This journey not only enhanced my technical skills, but also deepened my commitment to bridging the divide between design and software engineering.

© 2024
Theme designed by H.WEI.C
Home