maykonmichel / space-xplorer

SpaceX mission launches app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

SpaceX mission launches app


πŸš€ About the project

This project uses SpaceX open API to show the latest missions and launch details

πŸ”° Features

  • βœ… Latest launches displayed chronologically
  • βœ… Launch card
    • Mission name
    • Launch date formatted
    • Mission cover image if available
  • βœ… Launch details screen
    • Mission name
    • Launch date formatted
    • Rocket name
    • Details if available
    • Article button link if available
  • βœ… Images carousel with 3 items at most if available
  • βœ… Individual toggle favorite image on tap it
  • βœ… Favorite heart animated
  • βœ… Favorite button animated
  • βœ… Animated empty feedback
  • βœ… Animated error feedback
  • βœ… Animated loading feedback
  • βœ… Image caching
  • βœ… Data caching
  • βœ… Cache persisting
  • βœ… Unit testing

πŸ’‘ Roadmap

  • β˜‘οΈ Full compatibility with dark theme
  • β˜‘οΈ Infinite scroll
  • β˜‘οΈ Pull to refresh
  • β˜‘οΈ Icon
  • β˜‘οΈ Splashscreen
  • β˜‘οΈ e2e tests
  • β˜‘οΈ Sort by launch date asc or desc
  • β˜‘οΈ Continuous integration
  • β˜‘οΈ Automated build
  • β˜‘οΈ Automated store deployment
  • β˜‘οΈ Code push
  • β˜‘οΈ Continuous deployment
  • β˜‘οΈ Performance monitoring
  • β˜‘οΈ Crash monitoring

βš™οΈ Tech stack

πŸ‘‹ Getting Started

These instructions will get you a base project structure and running on your local machine for development and testing purposes.

πŸ“‹ Prerequisites

Setting up the development environment

You can follow the React Native CLI quickstart for your development OS target OS.

πŸ“¦ Running

Installing Dependencies:

yarn install

Installing Pods (only for iOS):

cd ios && pod install

Running the app:

yarn start

For starting the app on a specific OS:

yarn ios
yarn android

πŸ‘©πŸΎβ€πŸ’» Development

  • Eslint is used in the project to enforce code style and should be configured in your editor.

  • Prettier is also used and apply automatically by eslint

  • Typescript is used in the project for type-checking and should be configured in your editor.

You can check this manually by running:

yarn lint

You can ask eslint to fix issues by running:

yarn lint:fix

πŸ›  Testing

Use the following command to run unit tests:

yarn test

Use the following to update the snapshots of unit tests:

yarn test -u

Use the following to run unit tests in watch mode while developing:

yarn test --watch

About

SpaceX mission launches app

License:Other


Languages

Language:TypeScript 64.2%Language:Java 12.1%Language:JavaScript 11.9%Language:Objective-C 8.8%Language:Ruby 1.4%Language:Starlark 1.2%Language:C 0.2%Language:Shell 0.1%Language:Swift 0.0%