Skip to content

Sayari mobile application is a spaceflight news application that offers real time news from leading space companies and also provide launch news and updates.

License

Notifications You must be signed in to change notification settings

JayExtra/Sayari_Project

Repository files navigation

Sayari Mobile Application 🔨

Project Summary:

The Sayari mobile app is designed to provide up-to-the-minute news from top space companies, including launch updates and news. Stay informed with the latest developments in spaceflight through this convenient and easy-to-use app.

Api Used:

Reasons for using the APIs

  • Both APIs have a free plan. The Spaceflight news API is free and calls are unlimited. For the LL2 Apis, the free plan is limited to 15 requests per hour.
  • Multiple ways to query and filter Launch and Spaceflight news data
  • They have a significantly large user base and can handle millions of requests. If the app were ever to scale, there is confidence in the API to provide high availability
  • The APIs come with really high-quality images of spacecraft, in-flight, ISS, and planetary bodies that will highly complement the application.

How to Access the App

The app is readily available in Play Store. Click the download here link below to download and use. The app is compatible with devices from min SDK 21 all the way to SDK 33 but currently has no support for foldable, tablets, or TVs. Support for these will be added in the next update patch.

Download Here

Design/Architecture used 📐

You can find the project Figma design files here

The application uses the MVVM architecture. MVVM basically stands for Model View View Model. It is the recommended design pattern by the Android developers community for building well-structured apps as part of the modern Android development guide.Read more here.

MMVM

Model

This layer is responsible for the abstraction of the data sources. Model and ViewModel work together to get and save the data.

View

The purpose of this layer is to inform the ViewModel about the user’s action. This layer observes the ViewModel and does not contain any kind of application logic.

View Model

It exposes those data streams which are relevant to the View. Moreover, it serves as a link between the Model and the View. The project uses

Dependencies/Libraries used in the project

  1. Kotlin coroutines - for concurrency and asynchronous tasks read more here 👉
  2. Dagger Hilt - for dependency injection read more here 👉
  3. XML - for building UI components , defining strings ,colors and shapes.
  4. Retrofit and Okhttp - for making network calls to the backend and also logging of responses. read more here 👉
  5. Jetpack Room - used for caching complex datasets locally read more here 👉
  6. Jetpack datastore - a data storage solution that allows you to store key-value pairs or typed objects with protocol buffers. read more here 👉
  7. Jetpack Navigation Component - for traversing between different fragment screens. read more here 👉
  8. Lottie animations - for cool looking animations. read more here 👉
  9. Timber - for log statements.
  10. Firebase Cloud Messaging Services - for sending push notifications to devices. read more here 👉
  11. Firebase Crashlytics - for detailed in app crash reporting. read more here 👉
  12. Mockito - for implementing mocks during testing.read more here 👉
  13. Mock Web Server - for simulating network calls and responses during unit tests.read more here 👉
  14. Google truth library - for making assertions during unit and instrumented tests.read more here 👉

App screenshots:

Light         Dark         Dark         Dark         Dark         Dark         Dark

About

Sayari mobile application is a spaceflight news application that offers real time news from leading space companies and also provide launch news and updates.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages