Objective: Design and document a robust data pipeline to fetch launch data from the SpaceX API (https://api.spacexdata.com/v5/launches/)
- Develop a high-level design document outlining the architecture and components of the proposed data pipeline.
- Identify and describe a strategy for interacting with the SpaceX API to fetch launch data. https://api.spacexdata.com/v5/launches/
- Propose a strategy for periodic data polling, specifying the intervals and justifying your choice based on efficiency and relevance.
- Devise a conceptual schema for storing launch data emphasizing optimization for storage and retrieval efficiency.
- Define the logical flow of the data pipeline, outlining steps for data retrieval, potential transformations, and storage in the chosen database.
- Outline the infrastructure needed to ingest, transform, validate, and serve the data.
- Outline the procedures for contributions and data access which would enable everyone in the organization to collaborate securely and efficiently.
- Document the design covering each aspect of the pipeline, including API interaction, polling mechanism, database schema, and data processing.
- Diagrams to visually represent key components of the pipeline (optional: prototypes, or mockups).
- Creativity: Innovative and thoughtful design elements that enhance the data pipeline's efficiency and functionality.
- Clarity: Clear and concise presentation of the design, ensuring that the audience can easily grasp the proposed solution.
- Feasibility: The proposed design should be realistic and consider practical aspects of implementation.
- Justification: Well-founded explanations for design choices, including polling intervals, database selection, and potential enhancements
- Insight: Demonstration of understanding and consideration of best practices in system design, data storage, and retrieval.
Note: This design challenge focuses on the conceptualization and presentation of the data pipeline rather than the actual implementation. The goal is to encourage strategic thinking, creativity, and effective communication of design principles.