An Android App, shows Astronomy Picture of the Day, built with :heart: using Flutter.

Documentation ::

  1. This Android App will fetch Astronomy Picture of the Day aka APOD, from an Express App, which is running on a machine in Local Network (in my case).

  2. You might be interested in running that Express App on Cloud or on some remote server, then make necessary changes.

  3. You can find Express App in this repo.

  4. And you will also require to store all APODs in local database.

  5. In my case, I used a PostgreSQL Database.

  6. So, create a SQL database and a table like the following.

  nasa_apod=# \d apod_data
                       Table "public.apod_data"
   Column      |         Type          | Collation | Nullable | Default 
date            | character(10)         |           | not null | 
copyright       | text                  |           |          | 
explanation     | text                  |           |          | 
hdurl           | text                  |           |          | 
media_type      | character varying(25) |           |          | 
service_version | character varying(10) |           |          | 
title           | text                  |           |          | 
url             | text                  |           |          | 

  1. Then go to this repo, and keep downloading all APODs, upto current date.

  2. Don't forget to run daily, so that you keep getting current day's APOD from NASA.

  3. This App lets you download APOD, if and only if it's an image.

  4. You might even consider to use a certain APOD as you wallpaper, which is also feasible from that App.

  5. This app targets API Level 28.

  6. Of course it uses material design.

  7. This app also displays test Ads using Google's Mobile Ad SDK.

  8. You might consider using this app's code as an example for using Ads in your app, so that you can monitize your app.

  9. This app also caches previously queried APOD in local SQLite database using ROOM consistency Library.

  10. So, when previously requested data is available in local database, it will simply use that otherwise it will perform a query to that Express App, which you may find here.

Screenshots ::






Screen Recoring ::

You may like to check this screen recording out.

Download ::

You can download release version of this app here or just compile it yourself.
Don't forget to create local database and populate it with all APODs till date, using scripts from this repo.
Make sure you've started the Express App properly in local machine and set correct IPAddress and PortNumber. Otherwise you might see some unexpected results.
For initial testing I'd suggest you to run Express App aka apod_server on a machine in Local Network. And later on you might think of shifting to Cloud solutions.