Frontend Internship Assignment
Frontend Internship Assignment
Objective: Convert the provided Figma landing page design into a fully responsive React
application using Tailwind CSS. The application should have a search bar that interacts with a
provided mock RESTful API to search for Chartered Accountants.
Prerequisites:
● Familiarity with React, Tailwind CSS, RESTful APIs, and Git/GitHub.
● Access to the provided Figma design.
Instructions:
2. Design Conversion:
3. API Integration:
● Set up a mock RESTful API using JSON Server with the provided JSON file containing
a list of Chartered Accountants.
● Implement a search bar that makes a GET request to your mock API, searching for
Chartered Accountants by name.
● Display the search results dynamically below the search bar.
● When a user clicks on a Chartered Accountant's name from the search results, redirect
them to a details page showing more information about the selected Chartered
Accountant.
● Handle potential edge cases, such as no matches found or errors in the API request.
● Design Fidelity: How well does the React application match the Figma design?
● API Integration: How effectively does the application interact with the mock API? How
are edge cases handled?
● Code Quality: Is the code well-organized, readable, and efficient?
● Responsiveness: Does the application adapt well to various screen sizes?
Resources:
Expected Deliverables:
Homepage:
● A landing page that closely matches the design in the provided Figma file.
● A search bar to enter the name or part of the name of a Chartered Accountant.
● Dynamic search suggestions that display below the search bar as the user types. This
should show a list of matching Chartered Accountants from the JSON-server.
● The search suggestions should be clickable.
Details Page:
● When a user clicks on a Chartered Accountant from the search suggestions, they should
be redirected to a separate details page.
● This page should display more detailed information about the selected Chartered
Accountant, including their name, charge, description, rating, and an image.
● Ideally, there should be a back button or a clear way to return to the homepage.
Responsiveness:
● Both the homepage and details page should adapt well to various screen sizes, from
mobile to desktop.
API Interactions:
● All data interactions should be done through API requests to the JSON-server.
● Proper handling and display of errors if, for instance, the API doesn't respond.
Code Quality: