Problem
I wanted to work through the backend side of team collaboration software in a more complete way than a simple CRUD API.
I built this Laravel backend for a team chat app with JWT auth, channels, threads, DMs, and reactions.
I wanted to work through the backend side of team collaboration software in a more complete way than a simple CRUD API.
I structured it around users, teams, channels, permissions, direct messages, reactions, and audit logs, with the API documented in detail.
It’s a backend-heavy project that shows how I think about API design, auth, and domain structure.