Context
The problem
Booking and service information needs one consistent workflow for customers and the people operating the barbershop.
Product
What was built
Xatruch separates the customer-facing React application from a Java REST API, keeping product presentation and business operations independently maintainable.
Decisions
Engineering choices
- Split the client and API into focused repositories with an explicit HTTP boundary.
- Used TypeScript on the client to model interface states and request contracts.
- Kept booking and service behavior in the Java API instead of coupling it to the browser.
Architecture
System shape
- React and TypeScript web client
- Java REST API
- Resource-oriented client-to-server communication
Constraints
What shaped the work
- Customer booking interactions need to remain clear on narrow screens.
- Client and API changes need stable contracts to evolve independently.
Outcome
Result
A two-part product foundation covering the booking interface and the service-management API behind it.
