How izayata/reference-react-typescript works
This is a React single-page restaurant ordering frontend. Visitors browse menu items and food details, manage a cart, and submit guest or authenticated orders; users can also register, log in, and manage account details and order history. The route table and checkout implementation are sampled, as are parts of the validated model/converter layer. Other major feature areas are retained from the README and file tree; their internal calls are not asserted where source was not shown.
Main entry points: App.tsx Routes and auth bootstrap · Checkout.tsx Checkout and order submission · Register.tsx Registration · AddressModelConverter.ts Address conversion
Components 19
App shell
- Routes and auth bootstrap
src/App.tsx - Navigation and chrome
src/main/components/navigation-bar/NavigationBar.tsx
Restaurant browsing
- Home and gallery
src/main/pages/home/index.tsx - Menu browsing
src/main/components/page/Menu/Menu.tsx - Food details and allergens
src/main/pages/FoodDetailsPage/index.tsx
Cart and checkout
- Shopping cart
src/main/components/page/ShoppingCart/ShoppingCart.tsx - Checkout and order submission
src/main/components/page/Checkout/Checkout.tsx
Account workflows
- Registration
src/main/components/page/Register/Register.tsx - Login
src/main/components/page/Login/Login.tsx - Profile and order history
src/main/components/page/UserProfile/UserProfile.tsx - Account route guard
src/main/components/functional/AccountRouteGuard/AccountRouteGuard.tsx
Domain and support
- Validated domain models
src/main/model/customer/AddressModel.tsx - Address builder
src/main/builder/AddressModelBuilder/AddressModelBuilder.tsx - Address conversion
src/main/converter/AddressModelConverter.ts - Selected-state persistence
src/main/supports/Persistence.tsx - Hungarian translations
src/main/i18n/i18n.ts - Modal message state
src/main/context/ModalMessageContext/ModalMessageContext.tsx
Other components
- Visitor
- Spring Boot API
Connections 25
- Visitor → Routes and auth bootstrap: opens app
- Routes and auth bootstrap → Home and gallery: routes to
src/App.tsx - Routes and auth bootstrap → Menu browsing: routes to
src/App.tsx - Routes and auth bootstrap → Food details and allergens: routes to
src/App.tsx - Routes and auth bootstrap → Shopping cart: routes to
src/App.tsx - Routes and auth bootstrap → Checkout and order submission: routes to
src/App.tsx - Routes and auth bootstrap → Registration: routes to
src/App.tsx - Routes and auth bootstrap → Login: routes to
src/App.tsx - Routes and auth bootstrap → Profile and order history: routes to
src/App.tsx - Routes and auth bootstrap → Account route guard: guards account routes
src/App.tsx - Routes and auth bootstrap → Navigation and chrome: renders
src/App.tsx - Routes and auth bootstrap → Selected-state persistence: wraps app
src/index.tsx - Routes and auth bootstrap → Hungarian translations: loads translations
src/index.tsx - Checkout and order submission → Shopping cart: fetches cart foods
src/main/components/page/Checkout/Checkout.tsx - Checkout and order submission → Spring Boot API: submits orders
src/main/components/page/Checkout/Checkout.tsx - Checkout and order submission → Address conversion: converts address
src/main/components/page/Checkout/Checkout.tsx - Address conversion → Address builder: builds address
src/main/converter/AddressModelConverter.ts - Address builder → Validated domain models: constructs address model
src/main/builder/AddressModelBuilder/AddressModelBuilder.tsx - Registration → Address conversion: converts addresses
src/main/components/page/Register/Register.tsx - Registration → Validated domain models: builds registration model
src/main/components/page/Register/Register.tsx - Routes and auth bootstrap → Spring Boot API: checks auth status
src/App.tsx - Menu browsing → Spring Boot API: loads menu data
README.md - Registration → Spring Boot API: registers account
README.md - Login → Spring Boot API: authenticates session
README.md - Profile and order history → Spring Boot API: loads account data
README.md