MLH-Fellowship / fellow-central

Earn points for yourself and your pod during the MLH Fellowship. Make your activities and participation count.
https://leagueoffellow.netlify.app/
MIT License
6 stars 1 forks source link
discord-bot fellowship-experience flask flask-sqlalchemy javascript mlh-fellowship postgresql python react redux
League of Fellows

League of Fellows

Earn points for yourself and your pod during the MLH Fellowship. A way to gamify the fellowship experience.

League of Fellow



Forks Stars Watchers Top Language Languages Issues PRs MIT License activity contributors size lines

Browser Support

Note: Support for modern mobile browsers is experimental. The website is not responsive in mobile devices until now.

Inspiration

During the fellowship, some fellows might lack the incentive to attend informative talks, book mentor sessions, give a show and tell, interact with other fellows on discord, etc.

League of Fellows aims to gamify the MLH Fellowship experience by allowing fellows and their pods to earn points for doing various activities throughout the fellowship similar to MLH Local Hack Day. These accumulated points could potentially be used to redeem swag and secret rewards at the end of the fellowship.

Activities that counts towards points include attending events, livestreams, interacting on discord, mentor sessions, show and tells, winning hackathons, helping others in the fellowship community.

Make everything you do in the fellowship count!

How we built it

What it does

Challenges we ran into

  1. Generating ideas for how fellows could earn points was a bit tricky as we did't want there to be any sort of spamming going on.
  2. The DB we used, PostgresSQL, was something new for most of us on the team and a challenge setting up. At the end, we all learnt a lot about working with relational databases.
  3. Designing the REST API to fit the need of the frontend and the discord bot was a challenging task and required most of our time.
  4. Setting up Discord OAuth and making the platform work seemlessly between backend, the frontend React app and the discord bot was daunting and required planning beforehand to decide on the architecture, and technologies that would make it all work.
  5. Time management was really challenging due to the largely varying timezones of team members. :P

Accomplishments that we're proud of

  1. Building a platform that could drive more engagement from fellows.
  2. Creating a points management system that could be scaled to add more features and platform integrations
  3. Learning about building discord bots and OAuth and working with PostgreSQL

What we learned

  1. We learnt about working with Redux on the frontend, the benefits of using it, and scaling the application state with ease.
  2. We learnt about and benefits and pitfalls of using relational databases and how modelling data is very different from NoSQL databases.
  3. We had a meeting everyday at a fixed time to plan divide work and check on each others progress which helped us in understanding more about collaboration on an open source project.
  4. We learned and implemented open source best practices like making use of GitHub project board, setting up branch protection rules, adding Issue/PR templates, and following a consistent style for writing commit messages etc.

What's next for League of Fellow

How to Get Started?

Dependencies Up To Date Python

GitHub Repository Structure

# Directory Name Purpose
1. frontend contains frontend code
2. backend contains backend code
3. discord-bot contains discord bot code

Setup

Read README.md file of appropriate directories to setup the project environment.

MLH Fellowship (Spring 2021)

This is a hackathon project made by MLH Open Source Fellows (Spring 2021) for the halfway hackathon.

MLH Fellowship

Team:

"None of us is as smart as all of us." --Ken Blanchard

# Name Role GitHub Username
1. Pawan Kolhe Frontend Developer @PawanKolhe
2. Chau Vu Backend Developer @cqvu
3. Boyuan Liu Backend Developer @boyuan12
4. Luis Zugasti Backend Developer @luiszugasti


Contributors ✨

Thanks goes to these wonderful people (emoji key):


Pawan Kolhe

💻 🎨 📝

Chau Vu

💻 📝

Boyuan Liu

💻 🤖

Luis Zugasti

💻

This project follows the all-contributors specification. Contributions of any kind welcome!

ForTheBadge uses-git forthebadge

forthebadge forthebadge ForTheBadge built-by-developers ForTheBadge built-with-love

forthebadge


Licensing

This software is open source, licensed under the MIT License.