Skip to content
This repository has been archived by the owner on Oct 2, 2022. It is now read-only.
/ NASA-APOD Public archive

Final assignment (assignment 2) for advanced object-oriented programming course (COMP1011 2022F). A javaFX application exploring the use of REST API.

Notifications You must be signed in to change notification settings

csc530/NASA-APOD

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Advanced OOP - Assignment 2 By Christofer Cousins

Important things to note

  • A common acronym used is APOD, A.P.O.D., and apod which all mean astronomy picture of the day
  • When using the random spinner to return APODs the console will blow up with errors even though nothing bad is technically happening and the method throws the error please ignored
    • The error is that a JavaFX control is being updated outside the JFX Thread, yet it still updates so 🤷
  • Furthermore, there is a possibility of at 2 daemon threads to be left running so please mindful if you close the application with x or exit buttons
    • This will occur if you close the app using the button and not the stop in the IDE. If you close the app while calling for multiple APODs that have not yet been returned to listview the 2 daemon threads will be left. One querying NASA's API and the other updating the no longer active progress/loading bar.
  • Many of the explanations for the APODs vary in length, but are all very long, so please resize the window (stage) accordingly to view it all. There was no elegant way to get it to all fit but did my best show the most text for most of the APODs.
  • If Maven dependencies don't load please try opening theMaven panel (shift + shift type "maven") and click the refresh button
  • If no explanation or note appears for an APOD it's because there is none and just a graphic, this common of queries of old APODs, before 2002

API INFORMATION

Information about the API can be found on NASA's website.
More detailed information can be found in their GitHub repository
If you need my key it can be found in my uri sting in the API class.
Example query: https://api.nasa.gov/planetary/apod?api_key=DEMO_KEY

Be Aware

The maximum amount of API queries an hour is 1000 requests. Please be mindful if you make a lot of requests and suddenly errors occur.
I have not done stress test for reaching those limits yet😄.

API Response Validation

if you would like to validate the information my app displays from the api you can search the results using my key with url, https://api.nasa.gov/planetary/apod?thumbs=true&api_key=1rp568Tl7gR9976UiFzaPbedFvxnBFFYbdqxXazV

  • for multiple results add on &start_date= start_date from app &end_date= end_date from app
    • dates formatted as YYYY-MM-DD
  • A single APOD &date= date from app I recommend to search within firefox for pretty and legibleJSON formatting

About

Final assignment (assignment 2) for advanced object-oriented programming course (COMP1011 2022F). A javaFX application exploring the use of REST API.

Topics

Resources

Stars

Watchers

Forks