Giter VIP home page Giter VIP logo

webcandy's People

Contributors

gcpreston avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

webcandy's Issues

Improve user info retrieval API

Current State

Currently, all stored user information is retrieved using the /get_user API route. This includes:

  • Username
  • Email
  • Saved colors
  • Saved color lists

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.

Proposal

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.

Add about/help pages

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?

Automatically refresh connected clients

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.

Create mobile 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.

Test Python 3.6 support

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.

Cool project!

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!

Add ability to save custom colors and color_lists

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.

Create color_list selection UI component

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:

  • the ability to add or remove colors from anywhere in the list
  • the ability to edit a color that has been entered

These could always be added later under different issues, but should be something implemented eventually.

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.