Skip to content

Mobile app for NASA Neo API data visualization.

License

Notifications You must be signed in to change notification settings

DavidLakeT/lumos

Repository files navigation

- David José Cardona Nieves
Table of Contents
  1. About The Project
  2. Getting Started
  3. Usage
  4. Roadmap
  5. License
  6. Contact

For spanish version, check README_es.

About The Project

This project is an implementation of a mobile application for the consumption of NASA's NeoWs API (api.nasa.gov).

Requirements:

  • The application must be able to be installed on Android version 6.0 Marshmallow or later.
  • The application must have user registration, login and logout.
  • All data must be stored in a local database (SQLite).
  • It must have a minimum of 4 windows.
  • List the data from the Asteroids table in the main window after pressing a button that downloads the data from the API.
  • When selecting an item from the asteroids list, navigate to a window that shows all the information.
  • The asteroid records listed on the main page should correspond only to the logged-in user.
  • Use Git as version control and upload the project to a public repository in GitHub/GitLab.
  • Generate project documentation (README.md) specifying programming language, database used, libraries used, API information, libraries used, API information and if necessary a user guide of the application including screenshots.

The system has been tested on Poco X3 Pro device running Android 12 (MIUI 13).

Built With

This project was built using the following tools/libraries:

API endpoints

Get all Near Earth Objects (NEO) from a certain date range:

GET https://api.nasa.gov/neo/rest/v1/feed?start_date=START_DATE&end_date=END_DATE&api_key=API_KEY
Parameter Type Description
api_key string Default: "DEMO_KEY" (30 requests/hour)
start_date string (date format) Default: "2023-04-28" (interview date)
end_date string (date format) Default: "2023-04-28" (interview date)

Getting Started

Prerequisites

  • Operating system: Android Studio is available for Windows, macOS and Linux. To use Android Studio, you will need a compatible and up-to-date operating system.
  • Hardware: Your computer should have at least 8 GB of RAM, 2 GB of free disk space and a processor with at least four cores.
  • Java Development Kit (JDK): Android Studio requires that you have Java 8 JDK or higher installed on your system to compile Android applications.
  • Android SDK: Android Studio also requires that you download and install the Android SDK development tools to build Android applications. This includes the Android SDK, build tools, system images, and other resources needed to build and test your application.
  • Android device or emulator: To test and run your application, you will need an Android device connected to your computer or an Android emulator configured in Android Studio.

Clone the repository

First, you need to clone the repository from GitHub. To do this, you can open a terminal and run the following command:

git clone https://github.com/DavidLakeT/lumos.git

Running the app

After you've got your API Key at api.nasa.gov you can check the How to create and run your app tutorial by Google Developers team.

The APIKey must be set on the app/res/raw/config.properties file.

Usage

The application offers the user the possibility of registering by entering information such as first name, last name, ID and others. It also presents the functionality to log in. When any of these options is done correctly, the user will be presented with a view of the list of asteroids built with the information acquired from the API.

If the user wishes to consult the information in more detail, he/she can click on any asteroid in the list and access a menu with more precise information.

Login Screen

Lomus App Login Screen

Signup Screen

Lomus App Signup Screen

Asteroid List

Lomus App Asteroid List Screen

Asteroid Info

Lomus App Asteroid Info Screen

Roadmap

Here are some aspects that could be considered for future implementation of the project:

  • Possibility to filter asteroids (by size, name, velocity, etc.)
  • Dark mode UI
  • Password encryption
  • Multi-language Support
    • Spanish
    • English

If you have any recommendations, you can create an issue (here) specifying what you are raising and give rise to debate on the idea.

License

Distributed under the MIT License. See LICENSE.txt for more information.

Contact

David Cardona - Instagram - Linkedin - djcardonan@eafit.edu.co

Project Link: https://github.com/DavidLakeT/lumos

About

Mobile app for NASA Neo API data visualization.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages