Git Product home page Git Product logo

astroz's Introduction

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 😊

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.