Skip to content

feat: SpaceX Rockets - List, Detail, Filter & Add Rocket#100

Open
andhikakrstn3 wants to merge 9 commits into
allobankdev:mainfrom
andhikakrstn3:feat/allo-spacex
Open

feat: SpaceX Rockets - List, Detail, Filter & Add Rocket#100
andhikakrstn3 wants to merge 9 commits into
allobankdev:mainfrom
andhikakrstn3:feat/allo-spacex

Conversation

@andhikakrstn3
Copy link
Copy Markdown

Summary

  • Implement rocket list page with image, name, and description for each rocket
  • Add search/filter functionality to filter rockets by name or description
  • Add new rocket form dialog (stored locally)
  • Implement rocket detail page showing image, name, description, cost per launch, country, and
    first flight
  • Integrate SpaceX API (v4/rockets) with loading spinner, error handling, and retry button
  • Responsive grid layout using Vuetify breakpoints

Tech Stack

  • Vue 3 (Composition API + <script setup>)
  • TypeScript
  • Vuetify 3 (dark theme)
  • Pinia (state management)
  • Axios (HTTP client)
  • Vue Router (file-based routing)

Project Structure

  • src/types/rocket.ts — Rocket interface
  • src/services/api.ts — Axios API layer
  • src/stores/rocket.ts — Pinia store with state, actions, and getters
  • src/components/RocketCard.vue — Reusable rocket card component
  • src/components/AddRocketDialog.vue — Add rocket form dialog
  • src/pages/rockets/index.vue — Rocket list page
  • src/pages/rockets/[id].vue — Rocket detail page

UI States

  • Loading — Progress spinner while fetching data
  • Error — Error alert with retry button
  • Success — Render rocket data

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants