Skip to content
An Android App, shows Astronomy Picture of the Day, built with ❤️ using Flutter :)
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.idea
android
ios
lib
.packages
LICENSE
README.md
Screenshot_20190317-122725.png
Screenshot_20190317-122734.png
Screenshot_20190317-122743.png
Screenshot_20190317-122752.png
Screenshot_20190317-122804.png
astroZ.apk
nasa_apod.iml
pubspec.lock
pubspec.yaml
screenRecord.mp4

README.md

astroZ

An Android App, shows Astronomy Picture of the Day, built with ❤️ 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 apod_updater.py 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 Capure 1

Screen Capure 1

Screen Capure 1

Screen Capure 1

Screen Capure 1

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.

Courtesy ::

Thanks to Flutter, for building such a great UI framework, so that developers can make cool Apps easily. And ❤️ for Dart Team.

That's all. Hope it was helpful 😊

You can’t perform that action at this time.