Demo site: menud.jonaswong.dev
- React
- Vite
- Sass
- Golang
- Gin
- PostgresSQL
Navigating digital menus in restaurants can often be a frustrating experience for customers. Many of these websites are designed as typical web pages retrofitted for mobile devices, resulting in confusing layouts and tiny buttons. When using these menus, I often find myself missing the seamless experience I enjoy in dedicated mobile apps.
The primary goal of this project is to create a website that delivers an app-like experience on a mobile browser, ensuring a smooth and intuitive user experience. To achieve this, the following design requirements were established:
- Large touch points for site navigation
- Seamless page transitions, allowing better route sensing for the user
- Reactive UI with conditional components (e.g., carts, item counts)
Set your browser to mobile dev mode and go to the demo to experience it!
Menu data is served using a golang server, with PostgresSQL as the database of choice. I have chosen to keep this simple, and not use any abstracted ORMs, opting for SQLx. Designed for long-term maintainability, the menu's data is separated into categories and joined via IDs when fetched; allowing reusability and adjustments to the menu in the future.
Thank you for reading! If you're interested, do check out my next project Nothing To Do, built with React Native.