Giter Site home page Giter Site logo

tomeshnet / node-list Goto Github PK

View Code? Open in Web Editor NEW
4.0 6.0 1.0 6.52 MB

The list of all Toronto Community Network nodes

Home Page: https://chat.tomesh.net/#/room/#monitoring:tomesh.net

License: Creative Commons Zero v1.0 Universal

Ruby 10.25% Python 89.75%
json community-networks mesh-networking

node-list's Issues

New Map Submission (mesh-bridlewood)

I would like to add my node to the Toronto Mesh node list. I've provided the data below describing my node.

   {
     "name": "mesh-bridlewood",
     "latitude": 43.7956074,
     "longitude":-79.32741190000002,
     "cardinalDirection": "East",
     "floor": 3,
     "status": "proposed",
     "dateAdded": "2018-09-30T12:51:48.936Z"
   }

Switch to json object vs. array in node list

Copying over @garrying & @darkdrgn2k 's comment from #6:

Should this be an object instead of an array? Referencing the schema

@darkdrgn2k

The code i got from Pedro seems to reference it as an array, so the site is coded to look for an array. I would have to go back and change the code to treat it as an object. I ran the Schema and the Node List via http://www.jsonschemavalidator.net/ and it checks out. In fact Javascript and above site errors out parsing { instrad of [

@garrying

We'd need to add keys to the node objects for to it validate. I'd be okay with keeping it as is for now.

Define Schema for integration with monitoring (Stage 2)

From #1, Stage 2 discussion with @garrying, @darkdrgn2k @Shrinks99 identified:

  • description (hardware stack, software stack, community)
  • thinking about connecting to dynamic info needed for monitoring

and going to copy in @Pedro-on-a-bike 's proposal for quick reference:

{
    "$schema": "http://json-schema.org/draft-04/schema#",
    "title": "Toronto Mesh Nodes",
    "type": "array",
    "nodes": {
        "title": "Node Detail",
        "type": "object",
        "properties": {
            "name": {
                "type": "string"
            },
            "latitude": {
                "type": "number"
            },
            "longitude": {
                "type": "number"
            },
            "onlineStatus": {
                "type": "string",
                "enum": ["Online", "Offline"]
            },
            "cardinalDirection": {
                "type": "string",
                "enum": ["North", "North East", "East", "South East", "South", "South West", "West", "North West", "Omni"]
            },
            "floor": {
                "type": "integer"
            },
            "meshHardware": {
                "type": "string",
                "enum": ["Low Power Omni", "High Power Directional", "No H/W, Potential Location"]
            },
            "IPV6Address": {
                "type": "string"
            },
            "contact": {
                "type": "string"
            },
            "dateAdded": {
                 "type": "date-time"
            },
        "required": ["name", "nodeLocation", "online", "cardinalDirection", "floor", "meshHardware", "IPV6Address"]
        }
    }
}

New Map Submission (LibreMesh-59bf)

I would like to add my node to the Toronto Mesh node list. I've provided the data below describing my node.

   {
     "name": "LibreMesh-59bf",
     "latitude": 51.960440646753135,
     "longitude":5.966175190145464,
     "cardinalDirection": "Omni",
     "cardinalDirectionAntenna": "Omni",
     "floor": 3,
     "status": "proposed",
     "contact": "[email protected]",
     "IPV6Address": "",
     "dateAdded": "2019-05-16T11:46:05.311Z"
   }

Ps: I'm not from Toronto :)

Expansion of IPv6 Address

Expand specs IPv6 to include Yggdrsail

Suggestions

Backwards compatibility

   {
     "name": "Free Geek Toronto",
     "latitude": 43.641920944151614,
     "longitude":-79.4252866754631,
     "cardinalDirection": "Omni",
     "floor": 1,
     "status": "active",
     "IPV6Address":"fcc5:480e:20d6:dd89:12e1:19f8:23b9:f6ab",
     "IPV6Yggdrasil":"fcc5:480e:20d6:dd89:12e1:19f8:23b9:f6ab",
     "dateAdded": "2018-04-19T23:52:59.804Z"
},

Little more descriptive

   {
     "name": "Free Geek Toronto",
     "latitude": 43.641920944151614,
     "longitude":-79.4252866754631,
     "cardinalDirection": "Omni",
     "floor": 1,
     "status": "active",
     "IPV6CJDNS": "fcc5:480e:20d6:dd89:12e1:19f8:23b9:f6ab",
     "IPv6Yggdrasil":"fcc5:480e:20d6:dd89:12e1:19f8:23b9:f6ab",
     "dateAdded": "2018-04-19T23:52:59.804Z"
}

Or create an array as such

   {
     "name": "Free Geek Toronto",
     "latitude": 43.641920944151614,
     "longitude":-79.4252866754631,
     "cardinalDirection": "Omni",
     "floor": 1,
     "status": "active",
     "IPV6Address": [
          "cjdns":"fcc5:480e:20d6:dd89:12e1:19f8:23b9:f6ab",
          "yggdrasil":"fcc5:480e:20d6:dd89:12e1:19f8:23b9:f6ab"
      ],
     "dateAdded": "2018-04-19T23:52:59.804Z"
}

Add CONTRIBUTING file

Some ideas on what to include:

  • Where one can generate their node contribution
  • Quick reference of terminology and what is required
  • Code of Conduct
  • Some kind of privacy disclaimer (Node will be visible on a map on tomesh.net etc.)

Free Geek Node - Information Sheet/Screen

With the new Free Geek node up and running, Free Geek has asked us to prepare a page informing the public of what exactly the node is. They will put it next to the node. This sounds like a great opportunity to get exposed by the public.

Additional we have the option of using one of their may screens to show some information on it during the day.

Thoughts?

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.