League of Fellows
Earn points for yourself and your pod during the MLH Fellowship. A way to gamify the fellowship experience.
Browser Support
- Firefox: version 50 and up
- Chrome: version 49 and up
- Safari: version 10 and up
- Internet Explorer: version 10 and up
- Edge: version 14 and up
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
- Discord bot to tracks points earned by each registered fellow on the MLH Fellowship discord
- Web app to display helpful metrics, such as individual points earned, points earned by your pod, your pod's rank on a modern dashboard
- Leaderboards that visualizes points earned by different pods and where your pod stands
- Generates secret codes for each event that admin can give out during livestreams and events for fellows to redeem for points.
- View upcoming and past events in a central place and earn points for participanting in them
- Easy Login and Registration with Discord OAuth Login
Challenges we ran into
- 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.
- 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.
- 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.
- 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.
- Time management was really challenging due to the largely varying timezones of team members. :P
Accomplishments that we're proud of
- Building a platform that could drive more engagement from fellows.
- Creating a points management system that could be scaled to add more features and platform integrations
- Learning about building discord bots and OAuth and working with PostgreSQL
What we learned
- We learnt about working with Redux on the frontend, the benefits of using it, and scaling the application state with ease.
- We learnt about and benefits and pitfalls of using relational databases and how modelling data is very different from NoSQL databases.
- 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.
- 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
- [ ] GitHub integration for tracking weekly GitHub activity
- [ ] Automation of Event creation via Google Calendar
- [ ] Option to customize and manage favorite content on dashboard using drag and drop controls
- [ ] More metrics and visualizations for fellows to track their progress throughout the fellowship
- [ ] Marketplace for redeeming points for rewards or swag
How to Get Started?
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.
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):
This project follows the all-contributors specification. Contributions of any kind welcome!
Licensing
This software is open source, licensed under the MIT License.