We all love the MLH fellowship, and it has been such a great experience contributing to open source working in a pod of 9-11 people. However, with so many people contributing to different repositories, it becomes hard for the mentors or sometimes even for the users themselves to track their progress in a particular repository. Currently, Github either
- Shows the user’s contributions across all repositories (Github User Profile)
- Shows everyone’s contributions in a single repository (Repo contribution page)
That is why in daily standup notes, it is hard for the mentor to keep up with the progress of fellows to advise them better, particularly, if a fellow is lagging behind and is hesitant to ask for help, the mentor can notice it immediately and provide their support to help the fellow successfully contribute.
Flowie aims to fill the gap between these two by introducing a way to track a particular user’s progress on a daily basis to a single or across multiple repositories, enabling the mentor, even a little in helping their fellows contribute successfully.
Flowie is submitted for categories:
Remote work/Tooling: Flowie can be used as a project management tool by mentors to keep track of their fellow pod mentors.
Showcase/Portfolio: Flowie is all about visualising progress, we provide daily visual progress reports for now, and visual reports on a weekly or entire fellowship timeline are planned.
Navigating the Fellowship: Flowie is an alternative for daily standup notes, where you can report your progress to mentors and your fellow pod members more easily and with less writing!
What it does
A list of documented use cases be found here. A quick overview can be found below:
- Creating daily visual reports for the tracked repos of the user.
- Filter by PRs, Issues or Commits.
- Quick links to view the respective PRs, Issues or Commits on Github.
- View brief discussions or linked issues with the PRs.
- Track only your contributions across the repositories.
- Allow user to add notes to daily reports.
- Group multiple users in a pod and show a combined daily visual reports/stand up notes for it.
Tracking in 4 simple steps!
1) Enter Github Username!
2) Add tracked projects!
3) Select the date or apply the filters!
4) Add daily stand-up notes
How we built it
We started off by mapping the user journey and creating wireframes for the same using Excalidraw. Then we split the work based on our skill sets and interests. At its core, it utilizes the Github API and REST APIs built with Django Rest Framework communicating over Postgres database. The project is made scalable using the container technology of Docker. Finally over multiple pair programming sessions and somewhat late nights, we hacked together the working demo which you now see in front of you!
Challenges we ran into
The most significant challenge we faced was the manifestation of a vague idea that the fellows/mentors should be able to visualise their progress better to concrete functional and non-functional requirements. Then, the GitHub API was rate-limited, so we had difficulty in rapidly iterating using it. We had to find ways around it changing IP addresses frequently, which hurt our productivity. Fortunately, our team's pre-existent expertise in the utilized technology stack ensured a somewhat smooth sail.
Accomplishments that we're proud of
We are very proud of how much we learnt, and how we were able to work together in a short period of time and rely on each other to keep the work going.
Talent wins games, but teamwork wins
What we learned
- React Redux
- Google Cloud Platform (CloudSQL, App Engine)
- Github API
- Pair Programming Sessions
- Test Driven Development
The most successful achievement we had, we completed what we had in mind for the hackathon which happens quite rarely in a hackathon project.
What's next for Flowie - Supercharge your Workflow
We have a roadmap outlined for Flowie, where we will expand to a pod-based view, so that a mentor/MLH staff can get a bird's eye view for tracking all the activity of a particular pod / group of pods. This will greatly help keeping everyone in the loop about the progress of each pod and Fellow!