This task will cover a few core concepts that you will encounter when working on a TypeScript project at Memberspot.
Write a small application that fetches data from an API (we recommend this one) and displays it in a paginated list.
- Display a list of data with at least 4 fields.
- The list should include at least 1 aggregated value.
- For the example API, display a person's name, birth_year, homeworld, and the homeworld's terrain.
- Implement an input above the list to case insensitively filter the data.
- The list should be paginated, with a page size of 10. (Lazy loading is preferred over traditional pagination).
- The repository should be a nx monorepo
- It should have a frontend application called
frontend
- It should have a backend application called
server
- A Node library that contains models and dtos that are shared between the two applications
- The framework that should be used for models, dtos and validation should be zod
- It should have a frontend application called
- Have some fun and be creative!
- You are free to choose any technology you want, but...
- Our company has a decided tech stack:
- Angular for client-side apps.
- NestJS for server-side apps.
- Tailwind CSS.
- Use an API.
- If it is public, try to cache your data and make as few requests as possible.
- Feel free to build your own.
- If you want to mock a database, use a JSON file and load it into memory.
- Please use
strict
mode in your tsconfig.
- Fork this repo and send us your solutions.
- Notify Memberspot.
If you do not have time for a take-home assignment, let us know! In this case, we would try to implement parts of it live in a technical interview.
If you have a project to which you contribute regularly, we can also discuss that. We are interested in your work.