A fun, interactive React-Native app for users to explore the galaxy, featuring daily space facts and a favorite system to bookmark intriguing planets and stars.
In Development
Cosmic is an interactive React-Native app for exploring and learning about celestial bodies. It offers users an engaging way to discover and save their favorite planets and stars, supported with daily updated space facts.
- Interactive Galactic Map: Navigate through the stars and planets with ease.
- Daily Space Facts: Learn something new every day about the cosmos.
- Favorites Feature: Save and revisit your favorite celestial objects.
- Animated Star Backgrounds: Experience the galaxy with captivating animations powered by Skia and Reanimated.
- Articles: View recent space articles (Harcoded)
- Profile: View your profle (coming soon)
The potential performance issues noted in the animated components might be due to my own understanding of animation techniques rather than the capabilities of the packages themselves. For simpler or more performance-optimized alternatives, obviously, using a static star SVG background should be considered.
- Reanimated Star Background:
components/star-background.tsx
uses Reanimated to create an animated starry sky. Note: This implementation showed poorer performance compared to Skia. - Skia Animated Stars:
components/star-skia-background.tsx
utilizes React Native Skia to produce a layered, animated star background with added depth and occasional shooting stars for enhanced visual impact. This implementation looks the best - by far. Performance..... not so much. - Standard Skia Background:
components/star-skia-background-standard.tsx
offers a simpler animated star background using React Native Skia without the layers for a more straightforward effect. This implementation has the best performance.
Open a Terminal in the project root and run...
Install all dependencies:
yarn install
Install all pods:
cd ios && pod install
yarn run run:ios
or
yarn run run:android
Cosmic is built using Expo, React Native and TypeScript.
-
NativeWind - UI library
-
Reanimated & React Native Gesture Handler - For building interactive UIs
-
React Native Skia - Drawing background
-
🎨 Urvashi Kaushik - For the Design
- Zustand & Async Storage - Managing application state, data and storage
- i18next - Internalization
Cosmic is licensed under the terms of the MIT license.