avenmia / quantum-lamps Goto Github PK
View Code? Open in Web Editor NEWHome Page: https://quantum-lamps.michaelavendano.com
License: MIT License
Home Page: https://quantum-lamps.michaelavendano.com
License: MIT License
Currently the lamp states are given as strings:
These should be an ENUM instead of strings. Also "IDLENotConnected" is not necessary.
Make sure there are no differences between the code that is deployed on each pi and the code that is on github.
The pi should be come preinstalled with software that makes connecting to the user's internet connection simple. Currently, the user's networking info is hard coded in.
Add typescript logger to server side code and replace the console.log statements.
Currently there are a lot of todo statements, print outs, and trial code. There should be a clean working version of the client code That can be deployed to the pis for testing.
When the server receives a websocket connection, it should keep track of a list of client objects.
Deploy the master branch to both raspberry pis for manual testing.
Add unit tests to test server side code event handlers and error handling.
TSLint has been deprecated in favor of ESLint. Please see palantir/tslint#4534 for more information.
Add a logger to the application. Logger should only print if user enters the debug flag when running the program.
When the lamp sends or receives data, it should give some sort of visual feedback as a confirmation of the action. There are several functions that could be used (rainbow_circle) or making a new one as some sort of strobe.
Debug why initial startup triggers a set light. This could have something to do with the idle and not connected state.
Timing issues are timing events related to when the lamp is changing state. For example, it takes 3 seconds to determine whether or not the lamp is idle. The process of determining whether it should send the current data could be 6 seconds if the lamp goes from not idle to idle. Ideally, this should be much lower. The lamp should also include a "cool down period" when the color is set. This allows the user to reorient the lamp back to its sitting position.
Remove any unnecessary print statements and todos
Deploy the web server to Azure. Make sure it is accessible from different networks.
The server should not crash when receiving invalid messages.
Create a function that keeps the light the same color. This needs to:
Every client should have an ID that just the server assigns to the socket. Usernames should not be hard coded in the application.
Create a strategy for deploying updates to the raspberry pi's.
Bharat's idea:
Allow the pi's on boot to connect to vpn that I can access
Things to consider:
Currently there is a locahost:8080 hardcoded in. The urls should be in environment variables.
The lamp works with a web socket connection, but should be able to work as a regular lamp if it is not connected to the web server for whatever reason. This task is about making sure the lamp still works if it is not connected to the server as well as adding functionality to check if the server is back up every x minutes or so.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.