🎁 Features:
- Next.js Server Actions to fetch data with:
- Filtering 📂
- Pagination ♻️
- Sorting 🔍
- Achieved +95% in Lighthouse score for performance, accessibility, best practices, and SEO. 📊
- Resemblance with the original design. 🎨
- Small animations with Framer motion. 🎬
- No errors or warnings using ESLint (Airbnb style guide). ✔️
- Custom hooks. 🎣
- Utilized TailwindCSS for responsive styling. 🎨
- Codebase is well-maintained and formatted using Prettier. 💻
🛠️ Built With:
- Next.js 14. ⚡
- TypeScript 🚀
- TailwindCSS. 🎨
- ESLint (Airbnb style guide). 📦
- Framer-motion. 🎬
- npm - prettier - prettier-plugin-tailwindcss. 💻
🔍 Clarifications:
- While the Rest Countries API was an option, it had limitations like lack of pagination and limited filtering capabilities. I opted to utilize Server Actions in Next.js and the data.json provided with the challenge. This allowed seamless integration with MongoDB for efficient data handling.
- I acknowledge that continuous polling for change requests might consume more data, but it was implemented for experimental purposes.
Any suggestions on how I can enhance this solution or achieve even better performance are welcome!
Thank you. 😊✌️