Oui Chat
Projects | Links: Live | GitHub

Full-stack application built as a team of 5 over the course of 4 days using the scrum methodology and agile development principles throughout development.
Oui Chat represented my introduction to building software on a team. I and 4 colleagues designed and built a full-stack chatroom application with a React frontend and a backend that combined an Express-based API with a customized Socket.io WebSockets server over the course of four days. We made use of the scrum methodology and agile development principles throughout development.
My Contributions
I was largely responsible for implementing the Socket.io server, upon which I built an abstraction layer that allowed my collegaues to use the Socket.io server functionalities in much the same way as an Express API endpoint. In addition, I wrote the frontend and backend components that allows users to upload a profile picture, which is saved to the corresponding document in MongoDB as a raw buffer. I created a public endpoint to serve those images via GET requests, and a centralized series of functions on the React frontend that automatically downloaded & cached required images, and allowed them to be embedded throughout the application directly in an image’s src tag with a single function call.
I additionally integrated the Socket.io server with our MongoDB instance to automatically save messages and load message history upon entering a chat room.