DEV Community

Elliott Chong
Elliott Chong

Posted on



Ever wanted to play some sports but find that your friends are too busy? With SportBuddy, you can find Buddies to enjoy your favourite sports together! Just create a new posting with your desired Sport, and await other users to join the group. You can chat with them in the live chat section for more details. Visit the site now at!

Link to Code

Submission Category

Choose Your Own Adventure

Technologies Used

This is my first serious full stack project using the MongoDB, React, Express and NodeJS (MERN) Stack. Featuring a custom authentication system using JSON Web Tokens for session management, and Google OAuth for SSO.


  • Custom theme and design, layout preplanned in Inkscape, a vector based graphics editor.
  • Custom CSS implemented using TailwindCSS, a utility based CSS framework.
  • Fully responsive design for a better User Experience.
  • State management involved React's useReducer hook and their Context API.
  • Live chat feature uses WebSockets, implemented by the NodeJS package, allowing for full-duplex communication channels over a single TCP connection. This allows for all clients to receive socket messages at the same time and update thier state accordingly.
  • Mongoose, a MongoDB wrapper, was used as a Object Relational Wrapper (ORM) to simplify the process of reading and writing to the database.


enter image description here
enter image description here

Top comments (0)