Thank you for considering me for the Frontend Developer Intern position at REIZ TECH. This task was a great opportunity for me to showcase my skills and approach to objectives. I have implemented the task using React.js and TypeScript.
The task was to create a visualized representation of countries that displays country name, region, and area size using the https://restcountries.com free API. The data was fetched from https://restcountries.com/v2/all?fields=name,region,area. The following requirements were provided:
- Create a repository using GIT and push your work to a remote (e.g., GitHub, Gitlab).
- Display a list for the data.
- Make the list sortable alphabetically by name (ascending, descending).
- Implement a filter(s) that filters countries:
- That are smaller than Lithuania by area.
- That are in “Oceania” region.
- Bonus points were given for using TypeScript and implementing pagination.
- Search for countries by name
- Filter countries by region
- Sort countries by name
- Filter countries by area
- Next.js
- React
- Tailwind CSS
- Rest Countries API
To get started, you'll need to have Node.js and npm installed on your machine. Then, follow these steps:
- Clone this repository to your local machine.
- Navigate to the root directory of the project.
- Run npm install to install the project dependencies.
- Run npm run dev to start the development server.
- Open your browser and navigate to http://localhost:3000.
I must say, the assignment was a refreshing challenge that got me all excited. I had the chance to delve into some new concepts and apply them in a practical sense. The instructions were clear, which made grasping the requirements an absolute breeze. The additional points awarded for using TypeScript and implementing pagination were rather daunting at first. I have faced multiple logic errors, but let me tell you, the sense of fulfillment when I nailed them was unparalleled. All in all, I'd say this project was a true testament to my capabilities as a frontend developer.
Now, I have to admit that my specialty is Mobile Development using React Native. However, I was still able to use my skills in React for this website. I did hit a few bumps in the road, so to speak. Bugs and logic errors, to be precise. But, as luck would have it, I was able to troubleshoot and resolve them all. It wasn't a easy, but I was able to complete the task on time.
To summarize, this project was a complex and perplexing journey, with its fair share of highs and lows. But it was also a thoroughly satisfying one, and I'm pleased to report that I came out on top.