Capstone product · May 2025 – Sep 2025
NgoaiNguNgay
A role-aware language-learning and tutor-booking platform with real-time one-to-one messaging and scheduling workflows.

Role and ownership
Built learner, tutor, staff, and manager interfaces and integrated resilient SignalR messaging into the React client.
Verified outcomes
Implemented message receipt, editing, deletion, unread state, and reconnection.
Delivered booking, offer, cancellation, and status-aware scheduling flows.
Structured 16 routed pages and 79 component files.
The challenge
Keep booking state and one-to-one conversation state clear across four roles while handling connection loss and schedule changes.
The approach
Role-specific surfaces share a consistent component model. SignalR events update messages and unread state with automatic reconnection, while bookings remain explicit and status-aware.
Architecture
Systems that stay understandable.
React and Vite client
Sixteen routed product pages
SignalR events with Redis pub/sub
Role-aware learner, tutor, staff, and manager flows
The product in motion.
Verified UI captures

Technology