This summer more than 130 Fellows are contributing to various Open Source Technologies on GitHub, such as The Pallets Projects and Keras. At any given time, these proactive Fellows could be working on a handful of projects and keeping track of them becomes increasingly difficult. To solve this, we wanted to create an integrated web application that helps provide an aggregate overview of what's happening with the Fellows.

Hackathon Categories

  • Navigating the Fellowship
  • Getting help

What it does

The Fellowship Tracker app authenticates you through your GitHub account and allows you to create tasks referring to the project's issue and pull request. You are also able to add a description and a status to your tasks (Blocked, Good, and Nothing To Do) to communicate your progress with your teammates and mentor. There is a list view that shows all of your tasks, as well as your pod's tasks, making it easy to see what's going on with everyone. Additionally, you are able to provide a Daily Standup update to note what you did yesterday and what you are planning to do, along with any blockers you might be facing. When a user is stuck, an email is also sent out with a meeting call link to users who might be able to aid.

How we built it

We created a Rust server to handle our CRUD operations, which queries data from our PostgreSQL database. We use Github's API in order to authenticate our users' access tokens to sign up and sign in. For the front-end, we use SvelteJS, an open-source Javascript component framework.

Challenges we ran into

  • There was some problem connecting up the frontend to the backend, particularly because of the way in which Rust's data de/serialization library "serde" works.

Accomplishments that we're proud of

  • All of us learned something new.
  • Successfully implemented a helpful platform, which we can keep working on and improving in the future!
  • Collaborated well on tasks.

What we learned

  • How to use SvelteJS
  • How to write a procedural macro to reduce boilerplate code around database operations

What's next for Fellowship Tracker

  • The authentication method needs to be made more robust and secure.
  • Assesing the difficulty of PRs which need help (by looking at the cyclomatic complexity of changes) and adding labels.
  • Sending the standup updates to the appropriate GitHub thread.

Built With

Share this project: