Tevvo Build - Software Developer Intern Challenge
Objective:
Build a responsive Vue.js web application that fetches and displays data from a public API.
Include user authentication, write unit tests, and deploy the app. This challenge is designed
to evaluate your understanding of modern front-end development practices.
Requirements:
1. Functionality
● Build a Vue.js app that interacts with a public REST API of your choice. Examples:
○ https://restcountries.com
○ https://api.coingecko.com
○ https://openweathermap.org/api
○ https://pokeapi.co
● Implement login functionality:
○ Use any mock backend (e.g., Firebase Auth, Supabase, or a simple mock login
logic with JWT simulation).
○ After login, the user can access the main content.
● Main features to include:
○ Data fetching from the API (e.g., list of countries, coins, Pokémon, etc.)
○ Display results in a responsive grid or list
○ Search/filter capability
○ Details page for individual items
2. Technical Requirements
● Use Vue 3
● Use Vue Router
● Add unit tests for at least:
○ One utility or service
● Testing Frameworks: Jest or Vitest (preferred)
● Provide a test coverage report and include a screenshot of the results in your
repository
3. Optional Enhancements (Bonus Points)
● Use a state management solution
4. Deployment
● Deploy your application to any free service:
○ Netlify
○ Vercel
○ Firebase Hosting
5. Submission Instructions
● Submit your completed project within 2 weeks
● Host your code on a public Git repository (GitHub)
● Include:
○ A README.md file explaining:
■ Setup instructions
■ Live demo link
■ Auth implementation
■ Testing instructions & screenshot of the test coverage report
Deadline:
Submit your challenge within 14 days from the day you receive this brief.