Skip to content

Shreyashp714/Doubletick

Repository files navigation

✨ Customers List UI — Assignment

A performant React + Vite application to render and interact with 1 million customer records featuring infinite scroll, search, and sorting.

📌 Features & Requirements

✅ Data Generation

Generate 1M records locally with fields: id, name, phone, email, score, lastMessageAt, addedBy, avatar

✅ Table View

Display data in a clean table layout (as per design)

30 rows per page, load more rows on scroll (infinite scroll)

Sticky header for better readability

Row hover effect for interactivity

✅ Search

Search by name / email / phone

Debounced by 250ms for smoother UX

✅ Sorting

Click any column header → toggle ascending / descending

✅ Filters Dropdown

Opens on click

Static only (no filtering logic)

🛠️ Tech Stack

⚛️ React + Vite (Node.js 22+, ESM)

🎨 Plain CSS only (no Tailwind/Bootstrap)

💾 Data stored in memory or IndexedDB

⚡ Focus on smooth scrolling & performance optimization

✅ Acceptance Criteria

Seamless scrolling through 1M rows

Partial match search works correctly

Sorting toggles between ascending / descending

Sticky header remains visible while scrolling

Filters dropdown opens (static only)

No UI freezes or major performance issues

🚀 Getting Started

Clone the repo

git clone https://github.com/Shreyashp714/Doubletick.git cd Doubletick

Install dependencies

npm install

Run the app

npm run dev

Open in browser: http://localhost:5173

⭐ Built with performance and clean UI in mind.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages