Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/hombre2014/autocomplete

Take home assignment for Deel's Frontend Engineer (React.js) position
https://github.com/hombre2014/autocomplete

autocomplete autocomplete-functionality autocomplete-search autocomplete-suggestions custom-hooks jsonplaceholder-api react tailwindcss typescript

Last synced: 13 days ago
JSON representation

Take home assignment for Deel's Frontend Engineer (React.js) position

Awesome Lists containing this project

README

        

# Part 1 - React TypeScript AutoComplete component

> Take home assignment for Deel's Frontend Engineer (React.js) position

## Build with

- Language: TypeScript
- Library: React
- Build tool: Vite
- API: [jsonplaceholder](https://jsonplaceholder.typicode.com/users)
- Styling: Tailwind CSS
- Deployment: [Vercel](https://vercel.com)

## Screenshots

![screenshot](./public/Autocomplete.JPG)

## Live Demo

[AutoComplete](https://autocomplete-nu.vercel.app/)

## How to use

- Clone the repository `git clone https://github.com/Hombre/autocomplete`
- Run `npm install`
- Run `npm run dev`
- Open `http://localhost:5173`

## 🚀 Features

**Please prepare an auto-complete component in React TypeScript.**

## Requirements

1. Performance matters as we are expecting a production ready
component.
2. You cannot use any 3rd party libraries - only pure React and internal
DOM functions.
3. You should use TypeScript and write proper interfaces and types.
4. The function to filter the data should be asynchronous. You can use
mock data (such as a JSON array), but the function which uses it
should be asynchronous (similar to a real REST call).
5. It should have basic working CSS. No need for anything fancy (such
as drop shadows etc).
6. You need to handle all non-standard/edge use-cases - it should have
a perfect user-experience.
7. Highlight the matching part of the text, in addition to showing it.
8. No external state management libraries (refer to #1 as well), only
native React method.
9. Use only functional components with hooks.
10. Shortcuts and hacks are ok - but you have to add comments on what
you are doing and why.
11. Add a README.md file explaining how to run the project.
12. Bonus Point: Load data using a real API call to some resource.
13. Part two (questions and answers) is [here](./questions.md).

## Author

👤 **Yuriy Chamkoriyski**

- GitHub: [@Hombre2014](https://github.com/Hombre2014)
- Twitter: [@Chamkoriyski](https://twitter.com/Chamkoriyski)
- LinkedIn: [axebit](https://linkedin.com/in/axebit)

## 🤝 Contributing

Contributions, issues, and feature requests are welcome!

Feel free to check the [issues page](https://github.com/Hombre/autocomplete/issues).

## Show your support

Give a ⭐️ if you like this project!

## 📝 License

This project is [MIT](./license.md) licensed.