Group Class Project
Redacted Speed Game
Redacted Speed Game was a larger university group project built with three classmates under the team name Redacted. The project turned the card game Speed into a web application with authentication, room flow, live chat, and server-managed game data.
The technical work mattered, but the bigger learning curve was collaboration: breaking down a vague game idea into separate tasks, agreeing on shared data shapes, integrating code from different teammates, and communicating clearly when frontend, backend, and real-time behavior overlapped.
Project Scope
What The Project Covered
The repository describes a MERN-based Speed game with authentication, a main chat room, game rooms, ready states, a countdown, and server-managed card piles.
- Created a React-based game interface with card rendering, room/lobby screens, and authentication-related UI.
- Connected the client experience to backend services for user records, hashed credentials, chat messages, and game state.
- Used WebSockets so connected players could receive live updates instead of relying on page refreshes or one-way API requests.
- Learned how much group projects depend on shared vocabulary, small integration points, and direct communication about ownership.
System Pieces
Technical Areas
This project had enough moving pieces that the main lesson was not only writing code, but keeping the pieces understandable to the rest of the team.
Authentication
The project included registration and login flows with password handling designed so raw passwords were not stored directly.
Lobby And Rooms
Players could enter a main room, create or join a game room, and return to the lobby when a player left.
WebSocket Messaging
The server broadcast messages and game updates to connected clients, which introduced real-time coordination challenges.
Server-Managed Cards
The game deck and pile state lived on the server so each player received the relevant view of a shared game.
Collaboration
Working As Redacted
The project was a practical lesson in coordinating with three other classmates: deciding who owned which pieces, integrating work, and communicating changes that affected shared state.
- Task division had to be explicit because authentication, chat, game rules, and UI state touched the same user flow.
- Real-time features made communication more important; a change to a message payload or room event could break another teammate's work.
- The project made integration feel like a separate engineering task, not something that automatically happens after everyone finishes their part.
- Working with others helped turn implementation details into decisions the team had to explain, defend, and adjust together.