Git Product home page Git Product logo

internet-connection-log's Introduction

internet-connection-registry

The main focus of this repository is to find a way of recording the internet bandwith available and the osiclation arround the suposed service provided.
For this project I decided to use the Ookla SpeedTest CLI and use as inspiration the github repo of MiguelNdeCarvalho

How to run this project

You would need to install docker & docker compose. After that you would be able to use the project with the Makefile

$ make build
$ make get-servers
  1. Copy the ids and names of the servers you want to use.
  2. Create Server objects on the the src/main.py file
  3. Give these servers to the {fill_me} function
  4. Run the following command:
$ make run

Troubleshooting

If you have problems with the docker-compose & docker compose command you could try runing this:

$ ln -f -s /usr/libexec/docker/cli-plugins/docker-compose /usr/local/bin/docker-compose

If you are having problems with the armv7 maby you would need to install the following things on your machine:

$ sudo apt-get install -y qemu qemu-user-static

Remember that this is a project ment to be run in a raspberry pi, thats why I use that architecture

Code base

classDiagram
    InternetConnectionLogService <|-- SpeedTestGateway
    InternetConnectionLogService <|-- SpeedTestParser
    InternetConnectionLogService <|-- SpeedTestJsonRepository

    class InternetConnectionLogService{
        parser: SpeedTestParser 
        gateway: SpeedTestGateway
        repository: SpeedTestJsonRepository
        log_internet_connection_for_single_server(server)
        log_internet_connection_for_multiple_servers(servers)
    }
    class SpeedTestGateway{
      get_speed_test_result()
      parse_json()
    }
    class SpeedTestParser{
      parse_output()
      _from_bytes_to_megabytes()
      _get_current_time()
    }
    class SpeedTestJsonRepository{
      save_speed_test_output()
      _get_current_file()
      _save_dict_to_current_file()
    }
Loading

internet-connection-log's People

Contributors

galloramiro avatar

Watchers

 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.