Coder Social home page Coder Social logo

bravetechnologycoop / bravebuttons Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 2.0 1.37 MB

Source code, configuration files, and other assets for Brave Buttons

License: GNU General Public License v3.0

Python 0.99% Shell 3.66% JavaScript 85.64% HTML 0.74% PLpgSQL 7.66% AutoHotkey 1.29%

bravebuttons's People

Contributors

ahmaddaadaa avatar bravekerry avatar dependabot[bot] avatar ker1200 avatar mariocimet avatar micahdbak avatar peterscholtens avatar risatronic avatar sampathsatti avatar schwarrrtz avatar susanchung-brave avatar tmackinnon avatar trisapeace avatar worldofkerry avatar yp1996 avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

bravebuttons's Issues

Fix migration script so as to work with Travis CI

Migration script currently requires user input from a read to give a name and other details to an installation. Instead this should be supplied as command line arguments, this will make it so we can run the script on Travis

Documentation Improvements

re-organize Google Drive
Screen record a system deployment
Create a checklist for an installation (Enclosure building, Button pairing, Range Testing)

Add a test harness for the twilio functions

We aren't testing the fallback phone number functionality with the current test harness, and doing so requires having more than the single test phone number that twilio provides us. The goal for this issue is to set up a small mocked version of the twilio API to be able to test this.

heartbeat.py: Better handling of exceptions due to darkstat not being up yet?

In heartbeat.py, we catch and print an exception every time the scipt makes a call to darkstat before darkstat is up and running. Previously, this uncaught exception was causing the program to crash at startup.

image

Simply catching the exception and printing it to the log works fine for now, but we may want to handle it better

Potential filename collision.

const outputFile = `./pairing-tool-output-${Math.random().toString(36).slice(-5)}.csv`

Using random numbers can cause collisions inadvertently which would lead to data loss. Also you lose context. Here are some suggestions.

If random, use a UUID.

import { v4 as uuidv4 } from 'uuid';
const outputFile = `./pairing-tool-output-${uuidv4().replace("-","")}.csv

Use the unix timestamp to identify when the pairing tool was ran in the filename.

const outputFile = `./pairing-tool-output-${Date.now() / 1000 | 0}.csv

If nanosecond timing is wanted with the timestamp idea, node provides this.

const hrTime = process.hrtime();
const curMicroseconds = hrTime[0] * 1000000000 + hrTime[1];
const outputFile = `./pairing-tool-output-${curMicroseconds}.csv

setup.sh: Install Script Error

Following the instructions so far yields this error at the end:

"Job for networking.service failed because the control process exited with error code.
See "systemctl status networking.service" and "journalctl -xe" for details."

typing in journalctl -xe yields the following:

image

systemctl status networking.service yields
image

looks like a problem with 'add bridge' (is that bridge-utils?). I updated it and still have the same issue.

Pairing Tool Suggestions for Mass Deployment

It appears the pairing tool when it comes to a mass deployment could get quite annoying as you are having to enter data per button.

As a suggestion, for 'mass-deploys', it would be a good idea to be able to provide a file such as:

# SITE: The Building
# Provide suite number followed by phone number for all buttons.
1704, 7785551234
59, 334324152
Common Room, 911

Then upon running the pairing tool with this file as input, it will just ask "Please pair button for Room: that calls ." then once it's paired, just move on to the next. This could help reduce installation times as well, on top of that there may be a way to automate the buttons being configured to hit the right endpoints after to reduce LoE per button install.

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.