Back to projects

March 2025 · Full-stack developer and DevOps

LakLak

A full product for baby and toddler goods — Django and Kafka backend, React panels, a Docusaurus wiki, and a UI system designed from scratch.

DjangoReactKafkaPostgreSQLDockerNginxDocusaurus

Overview

LakLak was the Systems Analysis and Design course project: a full product for selling and shipping baby and toddler goods, covering the backend, frontend, documentation, and deployment rather than a single slice of it.

Why a message queue

The system has several panels — packaging, selling, shipping — that all react to the same underlying events. An order being placed has to notify packaging, adjust inventory, and eventually reach shipping.

Doing that synchronously inside the request that creates the order means the customer waits on work they do not care about, and one slow downstream step fails the whole order. Kafka decouples them: the order is committed and an event is published, and each consumer picks up its own work at its own pace. A consumer being down delays processing rather than dropping the order.

For a course project this is arguably more machinery than the load demands. I built it that way deliberately — the point was to work through the coordination problem properly, since getting the boundaries right is the part that does not transfer from reading about it.

Frontend and design system

React panels talking to a Django REST Framework API. All the UI elements were designed and implemented from scratch against a defined brand identity rather than assembled from a component library — which meant deciding on spacing, type, and color as a system first, then building components that expressed it.

Documentation and delivery

A static wiki built with Docusaurus documents the API and the operational procedures for each panel. Deployment runs on Docker behind Nginx, with GitHub Actions handling CI/CD. Work was tracked through GitHub Projects following Scrum practice.