Git Product home page Git Product logo

alexvalencia14 / space-app Goto Github PK

View Code? Open in Web Editor NEW

This project forked from tanguy9862/space-app

0.0 0.0 0.0 734 KB

Real-time Space Exploration Dashboard built with Python and Dash. Features daily data updates, interactive visualizations, and deployed on Google Cloud Run

Home Page: https://spacexploration-2t723npiha-uc.a.run.app/

License: Apache License 2.0

Python 91.95% CSS 6.50% Dockerfile 1.55%

space-app's Introduction

Space Exploration App

Overview

Space Exploration is a Python-based Dash application designed to provide real-time information on space exploration. The application is deployed on Google Cloud Run and updates its data daily through web scraping techniques. It offers a comprehensive view of space activities, from historical milestones to upcoming launches. The design is fully responsive, adapting to various screen sizes.

The application features automated data updates (every 6 hours) using Google Cloud Storage and Google Cloud Scheduler. A Flask server in scrap.py triggers the scraping scripts, ensuring that the data is always up-to-date.

You can access the live version of the application here.

For a quick demonstration of the app's features, check out the video below:

Space App Video

Features

Home Page

  • 3D Earth Globe: A rotating 3D Earth globe visualizing the number of space launches by country since the inception of space exploration.

Historical Events Page

  • Cytoscape Graph: A constellation-shaped graph representing significant historical events in space exploration. Clicking on a node reveals a description and image related to the event.

Space Dashboard

  • Line Plot: Displays the number of launches per year, with the ability to filter by success or failure.
  • Histogram: Shows launches by month, updating based on the year selected from the line plot.
  • Sunburst Chart: Represents hierarchical data from countries, organizations, down to success/failure rates.
  • Upcoming Launch Info: A section providing details on the next upcoming launch.

Technologies Used

  • Python: The backend is entirely written in Python.
  • Dash: Used for creating the web application.
  • Web Scraping: Data is scraped from various sources using Python libraries like requests and BeautifulSoup. The scraping scripts are hosted in separate repositories:
  • Data Management: Scraping scripts are packaged as reusable Python modules.
  • Data Visualization: Utilizes Dash components and Plotly for interactive visualizations.
  • Responsive Design: The application is designed to be fully responsive.
  • Cloud Deployment: The application is deployed on Google Cloud Run and utilizes Docker containers for daily data updates.
  • Google Cloud Storage and Scheduler: Used for storing scraped data and automates the data update process.
  • Flask Server: A Flask server in scrap.py triggers the scraping scripts.

Installation

To run the application locally, follow these steps:

  1. Clone the repository
  2. Install the required packages from requirements.txt
  3. Run app.py

Updating Data

The application is designed to update its data sources daily. The data is updated using Docker containers orchestrated by Google Cloud Run. If you wish to update the data manually, you can run the scraping scripts located in the linked repositories.

License

This project is licensed under the Apache-2.0 License. You are free to use, modify, and distribute the code, provided that you attribute the work to the original author.

Copyright

© 2023 Tanguy Surowiec. All rights reserved.

space-app's People

Contributors

tanguy9862 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.