Giter VIP home page Giter VIP logo

triton-poll's Introduction

๐Ÿ‘ฉโ€๐Ÿ’ป I'm currently working on...

Webfront Studio logo

Webfront Studio! There is a gap in accessible website generators that don't require development experience. So, I am aiming to produce an accessible and open source website creator geared towards small businesses and organizations.

๐ŸŒˆ Goals

  • Entirely open and transparent, including the source code
  • Feature a content management system that guides users into making accessible and inclusive content
  • Require no development knowledge from small organizations
  • Be self-hostable and extensible for developers

๐Ÿ’ผ I'm currently working at...

Blue Origin! I am developing web applications with delightful user experiences that put people and payloads in space. ๐Ÿš€๐ŸŒŒ

Learn more on my LinkedIn.

๐Ÿ•— Some interesting past work...

Show more

Adding strong TypeScript typings for Bind Deep (bind-deep). The first draft was undoubtedly a challenge, but so worth it!

Will Mutate (will-mutate) is a Babel plugin that alerts if a mutation event occurred on inputted objects โ€” essentially, a silly version of TypeScript read-only types... but at runtime. And oh golly, does it make use of ES6 Proxies.

My overengineered portfolio! Fun fact, the background header image is generated using an offscreen canvas using the user agent string, so take a peek at it on a few devices!

Rocketry.js is my mega project where I control RGB lights and buttons on MIDI controllers. It's an exciting take on hardware control using TypeScript.

Occasionally I will also work on my glitch art style pixel sorting web application that uses off the main thread scripting in React.

triton-poll's People

Contributors

dependabot[bot] avatar evelynhathaway avatar miloskovacevic avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

aman2427 nntin

triton-poll's Issues

Ideas and future plans, migrated from Notion

Triton Poll was commissioned by a university club, so v1.0.0 was what I scoped out with the client in the time that I had between my classes and before their conference. However, I kept a list of what I would've done if I had any more time. So now I'm adding this list for when I possibly circle back to this project for fun.


  • Error catching
    • v1.0.0 trusts the client to not send non-destructurable data, this is a no-no
  • Audit security and sanitization
  • Passwords for joining a room as a speaker (auth system?)
  • CSS grid the placards for the speaker? (#6)
  • Larger placard for the audience?
  • Anything with TODO in the project
  • Don't send member data to the server, instead use the server state and UUIDs
    • This is partially completed
  • Move Maps to objects?
    • I didn't have the resources to analyze the performance (hashmap, interaction, etc.) considerations
  • Share more code between audience and speaker
  • Use more limited states (not global state, etc)
    • React Hooks seem like an amazing solution for my coding style
  • Make components functional components with React Hooks and helper functions instead of methods
  • Code splitting
    • Speaker/audience are mutually exclusive in most scenarios which helps
  • Hot reload on dev instead of browser-sync
  • Speakers list management
    • Allow the speakers to add to the speakers in any position, reorder, and remove
    • Display speakers list to the students
  • Don't use bootstrap?
    • It's very heavy for what it's currently being used for in this small project
  • Fix linting issues
  • Make conference name, session number, etc. come from a config file and interpolated on build
  • Stop using alert() to show errors to the user (alert sucks, can also technically disconnect a user if they keep it open as long as the ping-timeout is)
  • Use a database instead of a volatile, single-node object
    • Prune old rooms and members
  • Don't randomly make profane room codes
    • The chances are extremely low and the speaker could just not use that room, but retext would be pretty much plug-and-play
  • Initial set and reset state using a single source default/initial state
  • Send only needed audience/speaker member changes (not whole audience list)?
    • Possibly toast when a new audience member joins (speaker side only)?
  • Bundle Bootstrap/jQuery
  • Prefix/compile CSS
    • I manually did this, but adding it to the build step would be a great addition
  • Pass Lighthouse audits
    • Mainly network-related and PWA tests
  • Room code served as route, prompt for the country on load when the UUID isn't in the server state, join
  • Make sure tree shaking works, analyze bundle
  • Unit tests, add Lighthouse CI to GitHub tests

Accessibility Auditing

  • Make placards (audience and speaker side) buttons
  • Improve contrast ratios on .btn-primary (from Bootstrap) buttons
  • Improve contrast ratios on raised placards
  • Use headings for app name and committee name at the top (use heading group for when in a room)
  • Make placard titles styled text
  • Check accessible texts/labels for buttons and placards
  • Run a more extensive accessibility audit

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.