gcpreston / webcandy Goto Github PK
View Code? Open in Web Editor NEWAPI and web interface for Fadecandy control
Home Page: https://webcandy.io
License: MIT License
API and web interface for Fadecandy control
Home Page: https://webcandy.io
License: MIT License
Currently, all stored user information is retrieved using the /get_user
API route. This includes:
This can be a bit cumbersome. If you want to look up the email address associated with an account, you have to also retrieve their saved data, which is not relevant at all.
The /get_user
route should be changed into a section called /users
to deal with various user operations. Account information such as username and email can be retrieved via the /users/info
route, while user data (saved colors, color lists) can be retrieved via the /users/data
route. Account creation can be under /users/new
.
This pattern allows for better organization of API functionality and more focused routes, adhering to the Single Responsibility Principle of program design.
The Webcandy website is currently very minimal. All it provides is pages for creating an account, logging in, and changing LEDs (provided you knew how to and correctly did set up a client). To figure out how to do all of this, a person would have to read the documentation in this repository, but there isn't even any link to the repo on the website.
Overall, the website should be more user-friendly and provide answers to the questions new users will inevitably have. Perhaps a navbar would help with this?
Currently, if a new client connects, you have to click the blue "Refresh" button to select it. It would be nice if this could happen automatically, especially when the user sees the "no clients connected" screen and has to click refresh a bunch.
My idea of doing this is to use Socket.IO along with Flask-SocketIO. When a new client connection is registered, an event could be emitted from Flask to the web page, telling it to re-query and update the UI.
Currently, when the web page is viewed on mobile it does not scale in any way. It would be nice if the application dynamically adapted to window size.
My vision is that the user should never have to do horizontal scrolling. The width of the page should not exceed the window width unless the user has zoomed in too close to one of the controls and needs to scroll to see the entirety of it.
This project has been written in a Python 3.7 environment, and while I don't see any reason Python 3.6 shouldn't work, it should be verified. Python 3.5 support cannot happen due to the use of f-strings.
Hi!
I'm currently brainstorming a little app for my Fadecandy and found this repo through Github search.
I'm excited to give this a go and see what kind of effects I can run on this thing!
I was wondering if you needed help with anything UI related, product related or need any graphic assets for the UI / any screens. Might be able to help out a little there!
Also, if you need some custom Bootstrap theme, I'm pretty good at Bootstrap!
Currently, the user can enter a custom color (and hopefully soon custom color lists), however there is no way to save that configuration so it is selectable from the dropdown later.
The API has basic support for this functionality. The user can PUT the color/color list routes rather than GET them in order to add new configurations. UI support for this functionality should be added.
Currently, there is no way to enter a custom color list through the UI. The user should be able to use a color picker like that found for the solid_color
pattern to choose as many colors as they like and create a color_list
configuration from them.
Some ideal features would be:
These could always be added later under different issues, but should be something implemented eventually.
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.