Giter Club home page Giter Club logo

ch-hostapp's People

Contributors

danhett avatar rickogden avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

ch-hostapp's Issues

App should be remotely configurable

There are a bunch of settings that it's likely we're going to need to adjust as the project takes shape - it'll be easier to maintain a configuration file somewhere that will allow us to override the app's settings. This will include things like timeouts for spam filtering, database details, and possibly even a killswitch of sorts so we can block the app from updating while we're doing something with it.

Improve file handling

App should create required directories if none are found, and app should also push to a none-printing folder for testing

Identify mesages by unique ID instead of content

{
"_id": {
"$oid": "54a813059ecaa3082cbc77b5"
},
"hasPrinted": true,
"submitDate": "3rd January 2015",
"submitter": "Dan Hett",
"message": "Favourite thing about the Cornerhouse? COFFEE!"
}

Spam filtering

High volumes of repeat messages must not be allowed from the same twitter account or unique device (techniques for uniquely identifying devices is still up for debate). The actual timeout period is planned to be externally configurable.

App needs to start and re-start cleanly following a power down

If the machine is booted up, the app (and any of it's dependencies) should start up in one clean action for the user - currently I see this as being the executable and also a script monitoring a folder of images to be printed, which should also start up automatically and run.

Tweets need to be added to the database

For completeness, incoming tweets should be added to the database and logged as regular entries. This will ensure we have a single clean reference point for the messages and eliminates a reliance on a twitter feed - in other words, tweets should be incoming messages but Twitter itself should not serve as an archive

Additionally the app must ensure that we're not pushing the same tweets into the DB repeatedly.

Stop the startup crash

Something kills the app when starting up, looks related to connection state. Check into it and catch appropriately! (probably the mongoDB stuff)

Fix duplication check

Currently it looks like tweets are being pushed twice, and it's possible this is happening while it's doing tons of requests. Needs testing!

LIVE/TEST

When set to test/live, app should point at different directories and databases! Test data should go to ch-test, and should output to a test directory. Configurable via config.xml

App won't gracefully re-connect in the event of a connection loss

This thing will be running for ages, and probably over wifi - it definitely needs some handling to reconnect properly in the event of a dropout.

Suggest having some clear connection status 'lights' on the UI - certainly for wifi connected state and database connection state. Also considering setting up some alert system in the event that the app encounters many drop-outs over a given time period.

Remove line breaks

Messages can currently be formatted oddly by users who insert line breaks, these should be removed before the scaling happens.

Incoming messages must be uniquely identifiable

In order to ensure incoming messages are not duplicated, we need to ensure that we can robustly check the DB for the entry if it already exists. I see this as being a search for both incoming username/deviceID (for tweets and regular messages respectively) plus the message content itself. This will prevent false positives for scenarios where we get the same message from different people ("hi cornerhouse!")

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.