0% found this document useful (0 votes)
7 views3 pages

Tevvo Build: Vue.js Intern Challenge

The Tevvo Build challenge requires the creation of a responsive Vue.js web application that fetches data from a public API and includes user authentication. Key functionalities include data display, search/filter capabilities, and a details page, along with unit tests and deployment to a free hosting service. Submissions are due within 14 days and must include a public Git repository with a README file detailing setup, live demo, authentication, and testing instructions.

Uploaded by

kathaokirianki
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
7 views3 pages

Tevvo Build: Vue.js Intern Challenge

The Tevvo Build challenge requires the creation of a responsive Vue.js web application that fetches data from a public API and includes user authentication. Key functionalities include data display, search/filter capabilities, and a details page, along with unit tests and deployment to a free hosting service. Submissions are due within 14 days and must include a public Git repository with a README file detailing setup, live demo, authentication, and testing instructions.

Uploaded by

kathaokirianki
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Tevvo Build - Software Developer Intern Challenge

Objective:

Build a responsive [Link] 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 [Link] app that interacts with a public REST API of your choice. Examples:​

○​ [Link]

○​ [Link]

○​ [Link]

○​ [Link]

●​ 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 [Link] file explaining:​

■​ Setup instructions​
■​ Live demo link​

■​ Auth implementation​

■​ Testing instructions & screenshot of the test coverage report​

●​ Send the repository link to: tevvoplans@[Link]​

Deadline:

Submit your challenge within 14 days from the day you receive this brief.

Common questions

Powered by AI

The key criteria for assessing the performance of a Vue.js web app in the Tevvo challenge include responsiveness, speed of data fetching and rendering, user interface fluidity, unit test coverage quality, and the efficiency of the authentication mechanism. Additional assessment involves how well the application handles API rate limits and whether it maintains a fast user experience even under varying load conditions. Performance is also measured by the effectiveness of deployment, reflecting modern development practices .

Implementing a search/filter feature enhances the functionality of a Vue.js application by allowing users to easily locate items of interest from large datasets fetched from public APIs. It provides a more interactive and user-friendly experience, necessary for applications that display dynamic content like countries or cryptocurrencies. In a challenge context, such a feature demonstrates the developer's ability to implement practical user interface improvements that significantly enhance app usability .

Deploying a Vue.js application on free services like Netlify, Vercel, or Firebase Hosting is beneficial because it easily enables continuous deployment with minimal setup. These platforms offer automation of deployment processes, integration with Git, and real-time updates, which can significantly reduce time spent on configuring a deployment pipeline. This aligns with the Tevvo challenge's focus on modern development practices and ensures the application is accessible for evaluation instantly .

To ensure high test coverage in a Vue.js application, a developer might employ strategies such as writing comprehensive unit tests for critical components and services using Jest or Vitest, integrating continuous testing in the development workflow, employing test-driven development (TDD) practices, and utilizing test doubles like mocks and stubs effectively. Detailed coverage of utility functions and simulating user interactions can also ensure robust testing, complying with Tevvo challenge requirements .

A developer can integrate user authentication in a Vue.js application by using mock back-end solutions such as Firebase Auth or simulating JWT authentication logic. This involves creating a login function that checks user credentials and, upon successful login, grants access to the main content of the app. The implementation should be straightforward, as real back-end integration is not required for this challenge .

A Vue.js application can utilize state management through libraries like Vuex to handle state across the app components efficiently. State management allows for centralized data organization, making it easier to manage the application state consistently and reduce potential data inconsistency bugs. In the Tevvo challenge, including state management is an optional enhancement that demonstrates a deeper understanding of advanced Vue.js capabilities and modern software development techniques .

The responsive Vue.js web application should include components such as user authentication using mock backend solutions like Firebase Auth or JWT simulation, data fetching and displaying from a public API in a responsive grid or list, search and filter capabilities, and a details page for individual items. It should also incorporate modern front-end practices like using Vue 3, Vue Router, and writing unit tests with Jest or Vitest. Deployment on services like Netlify, Vercel, or Firebase Hosting is required .

Jest and Vitest provide benefits such as ease of use, flexibility, and extensive documentation, which make them suitable for unit testing in Vue.js applications. Both frameworks allow for writing and running tests in an efficient manner. Jest's zero-config approach simplifies setup, while Vitest offers fast test execution suited for modern JavaScript environments. These tools support Vue components testing and provide detailed reports, enhancing the reliability of the web application .

The choice of a public API is crucial in building a web application because it influences the application's complexity, data accuracy, and functionality scope. The API's documentation, rate limits, security features, and available endpoints can impact implementation ease and responsiveness. Selecting an API that aligns well with application goals and has comprehensive data supports better integration and offers a realistic evaluation of the developer's ability to manage external dependencies efficiently in projects like the Tevvo intern challenge .

A README.md file plays a crucial role in a software development project by providing clear instructions and contextual information about the application. It should be structured to include sections like setup instructions, a live demo link, an overview of authentication implementation, and testing instructions, along with a screenshot of the test coverage report. This documentation is vital for reviewers to understand the project's build and execution process, fostering easier code evaluation and potential collaboration .

You might also like