We all know someone who claims to be the best at a particular board game, whether that be Monopoly, Settlers of Catan or simply Connect 4. Furthermore, as board games is a growing market, it can sometimes be tough to find others who enjoy the same games you do. This inspired us to develop Gamelo, a social platform where your skill (or luck) is verified through an Elo system and you can easily meet and find others who enjoy board games as much as you do.
What it does
Gamelo allows its users to join or host tables, which represent events where the users come together to play their favourite games. Users can search and filter the table events around them and request to join those they're interested in.
Profile pages include two major sections: game summary and game history. Game summary depicts the players statistics, including their most played games and their ELO for these games.
How We built it
- MongoDB for the database of Users, Games Played, Tables and Requests
- Azure Hosting was used to host our server on a Ubuntu VM, and DNS Zones for the domain configuration.
- React Native for the front-end
- Docker was used for API deployment
- Google Maps API to visual aid on nearby tables
- NGINX for the reverse proxy.
Challenges we ran into
Routing and connecting the database proved to be quite the challenge, especially with a mobile app.
Accomplishments that we're proud of
- Building a full-stack social app with tangible use cases in the growing board game industry over a weekend
- Developing a flexible and robust schema for digitizing users, table events, game records and ELOs.
- React Native, NodeJS, NGINX, MongoDB, Microsoft Azure, Docker
What we learned
- How to debug and troubleshoot errors in React Native
- How to work together as a team and overcome challenges
- How to use Agile methodologies to keep track our work with respect to time
- Breaking tasks into smaller chunks
What's next for Gamelo
- Chat feature between host, guests/friends
- Navigation to your scheduled table
- Invite functionality to play with friends you've met during previous events.
- Create geographical groups to allow users to broadcast an invitation across their neighbourhood.
- Play Instructions for popular ELO games.