NASA Space Explorer
- 5 Devlogs
- 9 Total hours
im gonna fetch all nasa's data mwahaha...
im gonna fetch all nasa's data mwahaha...
Feedback
Hey there, nice project but you seem to have used a lot of AI in your CSS, please rework it yourself then resubmit!
Shipwright walkthrough
Feedback
Hey there, I like your project, but it seems like your project uses an excessive amount of AI (more than 30%) therefore, I'll have to reject it. Please make your project a little more unique and remove or re-write the AI generated parts! Make it your own! That makes your project more personal and way cooler. If you have any other questions, feel free to ask in #ask-the-shipwrights on Slack!
Shipwright walkthrough
NASA Image Library Search and Deployment
Implemented keyword-based querying via the /api/search endpoint to fetch 6 decades of mission photography.
Built a search bar component allowing the user to query for images dynamically by keyword.
Rendered search results in a responsive grid featuring high-resolution thumbnails, mission titles, centers, and dates.
Configured build scripts and deployed the full-stack web app live to Vercel at https://nasaspaceexplorervsm.vercel.app/ Click here to see
NASA EPIC Earth Imagery Integration
Created @app.route("/api/epic") an endpoint that parses the date parameter and validates input against the YYYY-MM-DD format.
Built _fetch_epic_images() to query the EPIC API from NASA and parse the full PNG, including year, month, and day path components.
Wrapped raw API calls inside a _cached() helper function with a 24-hour cache TTL to lower redundant external API requests.
Added a date selection input with a Show Images button and responsive grid to display all earth images.
NASA NeoWs API Integration: Querying NeoWs (Near Earth Object Web Service) REST API to fetch real-time close-approach asteroid telemetry for that day.
Real-Time Metrics Parsing: Extracting important astronomical data attributes, including estimated maximum width, velocity, and miss distance.
Sorting & Filtering: Manipulating API payloads to dynamically determine hazardous status badges and sort incoming asteroids by nearest distance.
Metric UI Components: Created a CSS-styled list view with hazard badges and a starry background overlay
index.html serves as the entry point for the user in the browser, styled via style.css.main.js handles user interactions, renders NASA data onto the browser, and routes API requests to the backend.Flask Server: Flask app.py acts as the core app router, exposing endpoints for /api/apod, /api/asteroids, /api/epic and /api/search.
nasa_api.py manages external API communication.