# UI Development Challenge: Event Countdown Timer ## Objective Develop a dynamic and interactive Event Countdown Timer application. This challenge will test your ability to create responsive, user-friendly interfaces with engaging interactivity using Next.js, TypeScript, and Tailwind CSS. ## Requirements ### Event Creation and Management - Allow users to create new event countdowns, specifying the event name, date, and time. - Provide functionality to edit or delete existing events. - Store event data client-side (e.g., local storage or state management). ### Countdown Timer Display - Display an individual countdown timer for each event that updates in real-time. - Show days, hours, minutes, and seconds remaining until the event. ### User Interface - Design a clean, attractive, and intuitive UI using Tailwind CSS. - Ensure responsiveness for both desktop and mobile devices. ### Interactivity and Animations - Implement smooth transitions and animations for adding, editing, or deleting events. - Use engaging elements for the countdown representation. - Design a captivating animation sequence for when the timer runs out, aimed at delivering a stimulating moment. ### Technology Stack - Use Next.js as the framework. - Apply TypeScript for type-safe coding. - Style with Tailwind CSS for a modern, responsive design. ### Testing - Write unit and integration tests for your application components using a testing framework like Jest. - Ensure that key functionalities such as event creation, deletion, and countdown timer accuracy are thoroughly tested. - Aim for a high code coverage to ensure reliability and maintainability of the application. ## Additional Features (Optional) - Notifications or alarms as the countdown nears its end. - Categorization of events and view filters (personal, work, birthdays, etc.). - Shareable links for event countdowns. ## Submission Guidelines - Host the code on GitHub with documentation. - Deploy the application on platforms like Vercel. - Include a README with setup instructions, feature overview, and testing approach. ## Evaluation Criteria - **Functionality:** Application's operational effectiveness. - **Code Quality:** Cleanliness, organization, and commenting of code. - **Design and UX:** Aesthetic appeal and intuitiveness of the UI. - **Responsiveness:** Seamless experience across various devices. - **Testing:** Thoroughness and effectiveness of tests, coverage, and reliability. - **Creativity:** Innovative features or UI elements. ## Duration Complete and submit within 2-3 days from the assignment date.