The missing buddy for your favourite games
Visit bobby at https://www.bobby-app.ga/ (please use Chrome for the best experience)
Can't make up the numbers for your game? Are flaky friends bailing on you at the last minute, leaving you and others stranded with your game arrangements and out-of-pocket? Or do you just want a way to meet like-minded people who enjoy the same things in life?
Introducing bobby, the missing buddy for your favourite games. bobby is stylish, easy-going, eligible, and 100% committed to you (being able to enjoy your favourite games). Everyone could use a bobby in their life.
Team games and sports require a minimum or a specific number of participants. Individuals have difficulties finding sufficient participants for a game because they are often limited to searching only within their own immediate social circles.
bobby is an online platform that allows individuals to join and/or host a game.
Requirements/Specs:
- Rails 6.0.3.1
- Ruby 2.7.1
- PostgreSQL 12.1
- Redis 6.0.3
Install Redis (MacOS: brew install redis, Ubuntu: apt install redis-server)
bundle install
rails db:create
rails db:migrate
rails db:seed
rails server
redis-server
-
Ruby 2.7.1 - Main Language
-
Rails 6.0.3.1
- Backend Framework
-> Action Cable - Websockets / IO activity
-> Active Storage
-> Notifications Engine - Notifications framework, mountable as an engine
-> TurboLinks - JavaScript snippet using AJAX to emulate SPAs, installed by default in Rails
-> Glide.js - ES6 dependency-free carousel/slider
-> Pry - IRB alternative with additional capabilities
-> Gravtastic - Framework for integrating user gravatars
-> Will-Paginate - API for rendering pagination links -
PostgreSQL 12.1 - SQL Database
-
Redis 6.0.3 - Non-relational in-memory Database (used for Action Cable Pub/Sub)
-
TailwindCSS - Utility CSS Framework
-
Cloudflare - SSL Provider
- Brainstorming using Padlet
- Identified problem statements
- User Stories
- Created User Flows and Wireframes
- ERD
- Page Mock-Ups
- Build features iteratively
- Different development operating systems adds complexity when trying to integrate dependencies
- Turbolinks listeners sometimes unintuitive, presented difficulties especially when integrated with external Javascript libraries
- Using webpacker