🧪 Frontend Internship Task – Vue.js + Nuxt.
js
👋 Welcome!
We’re excited you’re applying for the Vue/Nuxt internship at Wipadika Innovations Private
Limited. This task will help us understand how well you know the core concepts of Vue, Nuxt,
and modern frontend development.
If selected, you’ll be working on production-grade features — so we’re evaluating not just your
output, but how you approach structure, documentation, and attention to detail.
🎯 Task: Build a Mini Job Board
Build a Nuxt 3 app that allows users to browse job listings, filter them by location and type,
paginate results, and view job details on a separate page.
📌 Requirements
Pages
1. Job Listings Page (/)
○ Display jobs from a static jobs.json file.
○ Include filters: Location and Job Type
○ Display 5 jobs per page
○ Use query params to persist the filter and page state.
2. Job Detail Page (/jobs/[id])
○ Clicking a job takes the user to a detailed view
○ Validate the route. If job ID doesn’t exist, show a 404 message.
🧩 Sample jobs.json
Save this file under data/jobs.json:
[
{
"id": "job1",
"title": "Frontend Developer",
"company": "TechCorp",
"location": "Bangalore",
"type": "Full-time",
"description": "Build and maintain UI components using Vue.js and Tailwind CSS."
},
{
"id": "job2",
"title": "Vue.js Intern",
"company": "Startify",
"location": "Remote",
"type": "Internship",
"description": "Assist in developing features in a Nuxt 3 based frontend app."
},
{
"id": "job3",
"title": "Nuxt Developer",
"company": "WebWorks",
"location": "Chennai",
"type": "Contract",
"description": "Create dynamic routes and SSR pages in Nuxt 3."
},
{
"id": "job4",
"title": "Fullstack Vue Developer",
"company": "StackNinja",
"location": "Bangalore",
"type": "Full-time",
"description": "Build APIs and frontend in a modern Vue + Node stack."
},
{
"id": "job5",
"title": "Junior Frontend Developer",
"company": "UIExperts",
"location": "Remote",
"type": "Part-time",
"description": "Maintain component libraries and write unit tests."
},
{
"id": "job6",
"title": "Design Systems Intern",
"company": "PixelPlay",
"location": "Bangalore",
"type": "Internship",
"description": "Work with senior designers to build reusable Vue components."
},
{
"id": "job7",
"title": "Frontend Architect",
"company": "ScaleUp",
"location": "Hyderabad",
"type": "Full-time",
"description": "Lead frontend tech decisions and mentor engineers."
}
]
🧠 Bonus
You may use:
● Pinia or useState() for managing filters
● Composables like usePagination(), useJobs(), etc.
● TypeScript if you're comfortable
🧾 Submission Instructions
1. Zip your entire project folder (including README.md)
2. Include in the README:
○ Setup instructions (npm install, npm run dev)
○ Project structure summary
○ Any known issues
3. Name your zip file like:
vue-internship-task-<YourName>.zip
4. Email it to:
📧
[email protected]
Subject: Vue Internship Submission – <Your Name>
⏰ Time Limit
Please aim to submit the task before 11th May 2025, 10 PM.
🛠️ Questions?
If anything is unclear, feel free to mention your assumptions in the README or comments.