Clone the repo.
Run npm install in both the root and /backend.
Run npm install in both the root and /backend.
Run tests on the frontend with npm run test.
Technical Assumptions:
- Using Tailwind CSS, React Typescript and Express as server.
- Tailwind CSS is used for styling, assuming no restrictions on third-party libraries.
- Only used in Chrome
Functional Assumptions:
- Search case will be case-insensitive
- Pagination will load 10 items by default.
- The upload bar will not disappear
Data and API Assumptions:
- All except the id related are displayed in the table.
- Data is email related.
Component Assumptions
- Progress Bar might be used in future hence it is saved as a shared component.
- The data table is just for email tables use in that one place.
Performance assumption:
- The data will not be too large and this solution is optimized for that size.
Time constraints
- Not mobile responsive.
- All page calls now hit the server for response
- Data can now be viewed by navigating the pages
- Users now can see how many records they have