Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

dubizzle/fe-interview

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Frontend Interview Exercise: Interactive Todo List

🎯 Exercise Overview

This exercise tests your fundamental knowledge of CSS and JavaScript by building an interactive todo list application with CRUD operations, data persistence, and search/filter functionality.

🚀 Getting Started

  1. Clone this repository

    git clone <repository-url>
    cd frontend-interview-exercise
  2. Install dependencies and start development server

    npm install
    npm run dev

    This will automatically open your browser with hot reloading enabled!

  3. Alternative: Open directly in browser

    • If you prefer, you can also open index.html directly in your browser
    • But using npm run dev gives you hot reloading (browser refreshes automatically when you save files)

Note: This is a starter template. You'll need to implement all the functionality from scratch!

📋 Core Requirements

1. CRD Operations (Create, Read, Delete)

  • Create: Add new todos
  • Read: Display todos in a list
  • Delete: Remove todos from the list

2. UI Structure & Design

  • Clean, organized layout
  • Responsive design for mobile and desktop
  • Proper spacing and typography
  • Visual feedback for user interactions

3. API Integration

  • Fetch todos from DummyJSON API
  • Implement CRUD operations using REST endpoints
  • Handle API responses and errors
  • Load todos from API on page load

4. Search and Sort

  • Search todos by text content (real-time)
  • Sort todos by creation time (newest/oldest first)
  • Sort todos alphabetically (A-Z / Z-A)

🎨 What You'll Build

A fully functional todo application that demonstrates:

  • Modern UI/UX principles
  • Efficient data management
  • Responsive design
  • Professional code structure

🧪 Evaluation Criteria

CSS Skills:

  • Layout techniques (Flexbox/Grid)
  • Responsive design
  • CSS organization and structure
  • Visual design principles

JavaScript Skills:

  • DOM manipulation
  • Event handling
  • Fetch API and async/await
  • Array methods (filter, sort, search)
  • Error handling and API integration
  • Code organization

💡 Implementation Tips

  • Start with basic CRUD functionality
  • Focus on clean, readable code
  • Test API integration early
  • Implement search and sort incrementally
  • Pay attention to responsive design

🎨 Design & Typography

This exercise uses your organization's brand fonts:

  • Primary Font: Proxima Nova (proxima-nova, ProximaNova)
  • Fallback Font: Noto Sans (noto, sans-serif)
  • Professional Typography: Consistent font weights and hierarchy

🚀 Development Experience

This exercise includes built-in hot reloading for a professional development experience and real API integration using DummyJSON Todos API:

🔌 API Integration

The exercise uses real REST API endpoints for a realistic development experience:

  • GET /todos - Fetch all todos
  • POST /todos/add - Create new todo
  • PUT /todos/{id} - Update todo
  • DELETE /todos/{id} - Delete todo

Note: DummyJSON simulates real API behavior but doesn't persist data permanently.

  • Automatic browser refresh when you save files
  • No setup required - just run npm run dev
  • Real API integration - test with actual REST endpoints
  • Works with any code editor (VS Code, WebStorm, Sublime, etc.)
  • Cross-platform compatibility (Windows, Mac, Linux)

🔧 Development Server Details

  • Port: 3000 (http://localhost:3000)
  • File watching: HTML, CSS, and JavaScript files
  • Auto-open: Browser opens automatically
  • Stop server: Press Ctrl+C in terminal

🎉 Good Luck!

Focus on demonstrating solid fundamentals. Take your time, test frequently, and show us your problem-solving approach!


Time limit: 90 minutes total

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.