DEMO: restaurants-japan
| Mobile | Tablet | Desktop |
|---|---|---|
![]() |
![]() |
![]() |
Made with spa-boilerplate
- Responsive for mobile / tablet / desktop
- Implemented autocomplete dropdown
- Implemented search by location based on url path - also prefills autocomplete component as applicable and url path with correct / available location
- Tablekit was available - reused component system, also helped with existing dark mode.
@emotion/styledwas available - utilized for stylingreact-popperwas available - utilized this as part of autocomplete component. This part could be refactored if popper dropdowns were to be used elsewhere in application. Right now, left as is.react-usewas available - utilized foruseMediaanduseDebouncetablecheck-iconswas available - utilized for icons@reduxjs/toolkitintroduced for state management@tanstack/react-queryintroduced for data-fetching, caching on client side. Defaults are kept currently for revalidation.@testing-library/reactand@testing-library/jest-domintroduced for component unit testsenandjatranslations have been added for new features- All unit tests using
jestfor redux and most of new feature components have been written - Clicking on hotel name on the hotel detail panel will open it's location on google map in a new tab.
react-springwas available - probably would like to use this for animations in future- Please follow existing
Getting started,Running testsandDeploy to productionsections for corresponding information.
- Install Node.js and NVM
- Fork/Clone this project
- Run
nvm use(will use the correct Node.js version) - Run
npm i --legacy-peer-deps(will install the dependencies) - Run
npm start(will start the app in http://localhost:3000/)
- Run
npm test(will run the unit tests)
- Main tech stack: React, TypeScript, Emotion, i18n
- Tablekit integration with FontAwesome icons and Dark Mode
- Basic localized routing
- Basic layout with footer, top and side navs
- Language Selection
- Responsive
- Basic FormSpree contact form
The boilerplate is configured to be deployed to Netlify, but it can also work with Github pages, Vercel, AWS Amplify, etc.
Instructions for a Netlify setup:
- Click on
New site from Git - Select
Githuband the repository where you forked it - Change Publish directory to
build/public - Change the Build command to
CI= npm run build - Deploy site
- You can change the URL name on
Site settings > Change site name
- At some point, if the project becomes a real product, all the files in
/public/static/imgand/public/static/fontsshould be removed and loaded from a CDN - The CDN URL should be specified in
/config/default.json
To upgrade this boilerplate and use the latest configuration and dependencies, please run this command and select SPA when asked:
npx --legacy-peer-deps -p @tablecheck/scripts tablecheck-scripts init


