With a thought of creating a free platform for indie game devs to promote and advertise their games without having to worry about a high budget requirement for promotions whilst providing a channel to the gamers to explore the indie-gaming community which would serve as discussion forums at the same time, indie-threads took its shape.
The key idea is to try to build a platform and a community for the "small" known and unknown gaming communities around the internet.
What it does
Indie-threads serves as a discussion forum where any game developer can easily set up a gaming community page where people can explore and chat about various things related to the game itself in the from of threads and sub-threads. That said, this platform gives and option of creating profile that serves as a gaming profile of a person that currently shows the basic details(username, gaming genres preferred, a short bio and communities he/she is a part of). Although, if a person doesn't create a profile, they can access the forums' content without the obligation of creating a profile, he/she will require to create a profile only if they want to add to the content to any community.
How we built it
We finalised the tech-stack( react.js for frontend & firebase for the backend) and listed out the features we want to implement on the notion doc. Then we divided the entire work into sub-tasks on a weekly timeline basis and delegated the issues. We made use of GitHub issues & project board and a notion doc for a better collaboration.
Challenges we ran into
- Deciding on the tech stack: With people from different tech interests, that's bound to happen and we took a solid 4 days to finalise stack. We brainstormed a lot, and then after a few meetings and discussions, finally agreed upon the one mentioned above.
- Merge Conflicts: We tackled this problem by opting in the good practices to avoid merge conflicts as much as possible.
- Meetings Being from different time zones, we ran into some problems in the initial days, managing a common time for those pair coding/debugging sessions. But soon, we overcame this problem by a better handling of delegation of work and project management.
- Initially we were just frantically adding to the list of features we wanted to implement in the project but keeping in mind the time constraints, we narrowed them down to the essentials and listed out the rest for the future.
Accomplishments that we're proud of
- Our team's overall collaboration for this project.
- Our UI.
- Content Monitoring for checking for toxic content on the platform.
What we learned
- Using Context for good state management in react.
- Working with async functions
- Creating like a good directory and folder structure for react projects
- Following good practices and writing readable code.
- Designing on Figma
What's next for indie-threads
- Feature of checking system requirements thereby checking if the user's system is compatible for the game or not.