To live and breathe open source
A website for CSI-VIT's ForkThis, which was a Github workshop followed by a 3 day event wherein participants were supposed to solved the issues raised in the given CSI-VIT's projects, for which they were awarded points which were used to buy items available in the shop and to maintain the leaderboards. A complete track of participant's progress was also shown on the dashboard using Chart-JS.
This Repository contains only the Backend of the project.
- React JS
- Express JS
- Node Scheduler
- Github OAuth
- Github Webhooks
- Tailwind CSS
- MongoDB
- Chart JS
1. The website opens here at the landing page where you are asked to sign up, which takes you to CSI Accounts page and then to Github for authentication.
2. After the Login is complete, the tokens are stored in cookies, and the user lands onto the home page. Here all the data of the PRs merged is presented against the time, difficulty and the tags, and a recents section to display the 10 most recent acitivies of our participants, which include filing a PR, getting a PR merged and raising an issue.
Then we also have a leaderboards section here to display the participants sorted based on their points.
3. Heading onto shop, we have items such as tshirts, pens, bags, etc which can be bought using the coins the user is awarded upon getting a PR merged and winning challenges.
The purchased items can be viewed under the purchased section.
4. The most intriguing feature which adds life to this event is Challenges. You can raise a challenge wherein you specify it's duration, tags of the issues to be solved under this challenge and coins the participant is willing to bet on this challenge. Once the challenge is up it shows up in the Open Challenges section and other participants can accept it. Once a challenge is accepted, the complete tack of both the users' activity is displayed but the final score of the opponent is disclosed when the challenge ends and the coins bet are reduced from the losing player and are added to the winner. Both the participants need to solve issues under the specified tags of the challenge to collect points and compete. After the challenge ends, it gets pushed to the closed challenges section.
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'feat: Add some AmazingFeature'
) - Push to the Branch (
git push -u origin feature/AmazingFeature
) - Open a Pull Request
You are requested to follow the contribution guidelines specified in CONTRIBUTING.md while contributing to the project 😄.
Pratham Mishra |