- In new terminal - Go to /mock-api/ (starts up the mock api)
npm install
npm run build
npm start
- In new terminal - Go to /ui/ (starts up the UI)
npm install
npm start
- Create a client
- All fields are required
- Search for a client
- Searching in the "search field" should filter the list of clients by their first or last name
- Example: John Stevens and Steven Smith should both show up if a user searches "steven"
- Example: John Stevens should show up if a user searches "john"
- Quality and best practices
- How close to the designs is your submission?
- If you needed to change something in the future (size/color of buttons), how easy would it be?
- How does this look on different devices?
- How can your submission allow for scalability?
- What if a customer has thousands of records?
- How is state managed as the codebase grows?
- How can we support multiple countries?
- How can you ensure the app behaves as you intend it to?
- How intuitive is the behavior of the app?
- I added a few extra functionalities of the app itself:
- Ability to update/delete a client
- Form input validation
- Switch country locale (EN/VI)
- I installed a few extra packages to help with the development:
- react-hook-form (Help with form validation)
- react-i18next (Help with localization)