Skip to content

JoseJulianMosqueraFuli/apolo-11

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

38 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Softserve

NASA Apollo 11 Python Bootcamp Challenge

This repository is part of the Python Bootcamp NASA challenge, known as Apollo 11. It implements a Simulation and Monitoring System designed to simulate a monitoring system for NASA's crucial Apollo 11 mission.

Overview

The system performs the following tasks:

  1. Generates simulated device data logs for various NASA missions.
  2. Analyzes log data and computes statistics for mission-critical reporting.
  3. Manages data logs, storage, and archiving processes.
  4. Outputs a visual dashboard for tracking device status.

We assume that the time for reporter always be mayor than the time to generate files, this case could be an improvement in future releases, and for this case we not control the possibility of error.

Index

Getting Started

  1. Clone the repository:

    git clone git@github.com:JoseJulianMosqueraFuli/apolo-11.git

    [!NOTE]
    If you don't have installed poetry, please check this link poetry-install to install.

    Check with

    Poetry --version
  2. Navigate to the apolo11

    cd apolo-11/

    [!IMPORTANT]

    • The project uses a configuration file config/config.yml where you can find various settings for the simulation and monitoring system. It includes details about missions, codes, date formats, and other relevant parameters. Refer to the config file for more information.
  3. Installation dependencies with Poetry

    Poetry install
  4. Activate environment

    Poetry shell
  5. Run App, with require values.

    poetry run python3 main.py --num_files_min 1 --num_files_max 100 --generator_interval 5 --reporter_interval 15
    or
    ################################
    # With default values
    python3 run python3 main.py
  6. Run the coverage

    poetry run pytest --cov=apolo_11

Project Structure

Proposal general diagram:

General

Proposal key folders and files:

apolo-11/
|
|-- config/
|   |-- config.yml
|-- src/
|   |-- classes.py
|   |-- reporter.py
|   |-- generator.py
|   |-- config.py
|   |-- __init__.py
|
|-- tests/
|   |-- test.py
|
|-- results/
|   |-- devices/
|   |-- backups/
|   |-- reports/
|
|-- docs/
|
|-- setup.cfg
|-- main.py
|-- .gitignore
|-- License
|-- poetry.lock
|-- Readme.md
|-- pyproject.toml

Specific time

considerations

Here are some things that we consider to add next:

  • Create *.log files from Logger configuration
  • Alternatives to parallel processing using Threads or Async.
  • Improve testing performance, because last changes break it.
  • Always could be improve

License

This project is licensed under the MIT License.

Authors

Built by Alejandra Quiroz Gómez, Sara Palacio and Jose Julian Mosquera Fuli.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 3

  •  
  •  
  •  

Languages