rest-countries-api-with-color-theme-switcher

Solution retrospective
I’m proud of how polished and responsive the UI turned out. I managed to replicate the original design closely while implementing theme switching, routing, search, and filters using Vue 3, TypeScript, and TailwindCSS.
One thing I’d do differently next time is to structure the components into smaller, more reusable pieces earlier in the process. Also, I would consider adding automated accessibility testing and unit tests for more robustness.
What challenges did you encounter, and how did you overcome them?One of the biggest challenges was adapting to changes in the REST Countries API. I was getting 400 errors until I realized it now requires the ?fields= query parameter. Once I specified the needed fields, the API worked perfectly.
Another challenge was customizing the project layout using Vue Router, especially setting up dynamic routes for country details. Reading the Vue 3 documentation and debugging step-by-step helped me overcome this.
Lastly, adjusting image sizes and structure for the README took some effort, but I learned how to combine HTML inside Markdown for better control.
What specific areas of your project would you like help with?I'd love feedback on the structure of my Vue components and how I could refactor them to make them more reusable or scalable.
Additionally, I'm unsure if I'm following best practices when it comes to using Vue Router for dynamic routing (/country/:code) and loading data efficiently.
I'd also appreciate any suggestions to improve accessibility (a11y), especially regarding dark/light mode switching and screen reader support.
Lastly, if you see ways to optimize performance or improve the structure of my README.md, I’m open to feedback!
Please log in to post a comment
Log in with GitHubCommunity feedback
No feedback yet. Be the first to give feedback on Alvaro Prado Tenorio's solution.
Join our Discord community
Join thousands of Frontend Mentor community members taking the challenges, sharing resources, helping each other, and chatting about all things front-end!
Join our Discord