Projects

Coursework chat application implemented end-to-end as a single-binary Go service. Scope is deliberately a homework baseline, not a production system.

Problem

The course brief required a self-contained chat service with REST endpoints, persistent storage, an OpenAPI contract, and a UI good enough for grading and manual QA — shipped as one buildable artifact.

What I built

A Go HTTP service exposing authenticated REST endpoints for users, rooms, and messages, backed by SQLite for durable storage. The Vue frontend is built and embedded into the binary so the service ships as a single executable.

Technical components

Backend
Go (modules + vendoring), cmd/webapi daemon, service/api handlers
Storage
SQLite via database/sql
API
REST, documented in doc/ as an OpenAPI spec
Auth
Simplified token-based session model (coursework-grade)
Frontend
Vue + Vite + Bootstrap, built and embedded into the Go binary
Tests
Go test suite covering HTTP layer + storage round-trips

Evidence / outputs

Current status

Archived. The course grading goal was met; not actively expanded.

Limitations

Repo

github.com/GioiaZheng/go-chat-system