In this sprint challenge, you'll apply everything you've learned about DOM manipulation, event handling, component creation, and working with APIs to build a complete web application that fetches and displays data from an external API while providing an intuitive user interface.
Overview
You'll be building a data-driven web application that demonstrates your understanding of all the concepts covered in this sprint. The application will involve creating reusable components with JavaScript classes, handling user interactions with event listeners, and consuming data from an API using the fetch API.
Project Structure
Your project should have a clean, organized structure that separates concerns and follows best practices:
- /components - Directory for your component classes
- /services - Directory for API and data handling functions
- /utils - Directory for utility functions and helpers
- /styles - Directory for CSS files
- index.html - Main HTML entry point
- index.js - Main JavaScript entry point
Grading Rubric
- Core Requirements (70%): Implementation of all required features
- Code Quality (15%): Clean, well-organized, and documented code
- Documentation (10%): Comprehensive README and code comments
- Stretch Features (5%): Implementation of stretch goals
Important: Focus on completing the core requirements before attempting stretch goals. A working application that meets the basic requirements is better than a partially complete application with advanced features.