Skip to content

ilia-korolev/lunar-glimpse

Repository files navigation

logo

Lunar Glimpse

Lunar Glimpse is your gateway to the wonders of space! Dive into a mesmerizing gallery of NASA's Astronomy Picture of the Day (APOD) photos, and stay informed with the latest astronomy news from various sources.

Report Bug · Request Feature · Ask Question

About the project

Lunar Glimpse is an astronomy application designed to bring the cosmos closer to space enthusiasts and curious minds alike. With a focus on user experience and educational value, our app provides a window into the universe through the lens of NASA's Astronomy Picture of the Day (APOD) and a curated selection of the latest astronomy news.

Features

• ✅ Explore a Universe of Photos: Marvel at awe-inspiring celestial objects and space phenomena captured by NASA's APOD program.

• ✅ Favorites at Your Fingertips: Curate your own collection of your favorite space photos for easy access.

• ✅ Unravel the Mysteries: Read the accompanying description for each picture to gain deeper insights.

• ✅ Download and Share: Save your favorite space photos to your device or share them with friends on social media.

• ✅ Stay Up-to-Date on Discoveries: Read the latest astronomy news from various sources to keep yourself informed about exciting breakthroughs.

• ✅ Responsive Design: Enjoy a stellar experience on any device with our responsive design.

• ✅ Light or Dark? You Decide: Select between a light or dark theme for a comfortable viewing experience.

Accessing Lunar Glimpse

Visit Lunar Glimpse to start your journey through the cosmos. The web version is currently in progress, and we recommend using the mobile app when available for the best experience.

Coming Soon

• Mobile App (Android - First!)

• Improved Web Version Performance

• Gallery Image Optimization

• Information about Near Earth Asteroids

• Enhanced Gallery Translations

Known Issues

[WEB] Sharing feature might not work perfectly on mobile devices.

[WEB] Loading indicator may not appear while high-resolution images load.

Installation

This section provides detailed instructions on how to get Lunar Glimpse up and running on your local machine for development and testing purposes.

Prerequisites

• Docker and Docker Compose

• Flutter SDK (for frontend)

• Dart Frog (for backend)

Development Setup

[DEV] Docker Compose

docker compose -f docker-compose.dev.yaml --env-file .env.dev up

[DEV] Running Backend

cd backend &&
DB_HOST=localhost DB_NAME='dev_db' DB_USER='dev_user' DB_PASSWORD='dev_password' TRANSLATION_SOURCE=none dart_frog dev

[PROD] Docker Compose

docker compose -f docker-compose.prod.yaml --env-file .env.prod up -d

[PROD] Building and Deploying Web Frontend Container

git pull &&
cd frontend/ &&
flutter build web --dart-define FLAVOR=production --web-renderer html &&
docker build . -f web.Dockerfile -t ghcr.io/ilia-korolev/astro-web:latest --platform=linux/amd64 &&
docker push ghcr.io/ilia-korolev/astro-web:latest &&
cd ..

[PROD] Building and Deploying Backend Container

git pull &&
cd backend/ &&
dart_frog build &&
cd build/ &&
docker build . -t ghcr.io/ilia-korolev/astro-backend:latest --platform=linux/amd64 &&
docker push ghcr.io/ilia-korolev/astro-backend:latest

Contributing

We welcome contributions to Lunar Glimpse! If you're interested in helping improve the app, please check out our contributing guidelines.

Support and Feedback

If you encounter any issues or have suggestions, please feel free to open an issue on our GitHub repository.

License

Lunar Glimpse is released under the MIT License.