/nasa_apod

Show images from NASA's website in a fashion manner

Primary LanguageDart

🚀 NasaAPod or NASA's Astronomy Pictures of the Day

NasaAPod is a cross-platform mobile application (Android and iOS) to show pictures from NASA's "Astronomy Picture of the Day" website in a fashion manner. This project was originally developed as an assessment for a Mobile Engineer role at Cloudwalk Inc. Note that the master branch is the most up-to-date.

🛠️ Features

This application has the following features

  • A list of the images and a detail screen
  • Search functionality (Find by title and date)
  • Offline support using Hive (works with airplane mode)
  • Support for multiple resolutions and sizes (tested on Pixel 4 and Pixel C Tab)
  • Pull-to-refresh (works in both online and offline modes)
  • Pagination

✨ Requirements

  • Operating System (Windows, Linux, or MacOS)
  • IDE with Flutter SDK installed (Visual Studio Code, Android Studio e.t.c)
  • Knowledge of Dart and Flutter
  • Emulator or Mobile Device
  • Knowledge of Environment Variables
  • Hands to code 😄

🔒 Setting Up Environment Variables

This project utilizes environment variables to manage configuration settings. I use Envied to handle environment variable management.

To set up the required environment variables for this project, please refer to the Envied documentation:

Visit the Envied package documentation on pub.dev. Follow the instructions provided in the documentation to install and configure Envied for your development environment. Envied simplifies the management of environment variables and ensures consistent and secure handling of sensitive information. Make sure to set the required environment variables as specified in the project's configuration files.

For more information on how to work with environment variables in this project, please consult the documentation provided by Envied.

NOTE: You need to setup Envied before running the project else you'll encounter errors.

🚀 Getting Started

To get started with this prototype, follow these steps:

  1. Clone the repository to your local machine
$ git clone https://github.com/devwraithe/nasa_apod
  1. Navigate to the project directory
$ cd nasa_apod
  1. Install the necessary dependencies
$ flutter pub get
  1. Run the application on an emulator or mobile device
$ flutter run

🤓 Author(s)

Ibrahim Ibrahim