Coder Social home page Coder Social logo

mopad's People

Contributors

dependabot[bot] avatar fpoppinga avatar h3ndrk avatar knoellle avatar robofish avatar schmidma avatar ykonda avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Forkers

egnitionhamburg

mopad's Issues

Fine Tuning Check-List and Feature Wishlist

  • check if the token/config can/should be public: Should be safe to expose it publicly
  • disable test mode in firebase: applied more restricted rules (only allow access when authenticated, etc.)
  • visualize loading
  • visualize error handling
  • add admin role
  • allow creators to edit their cards
  • allow admins to schedule events
  • allow admins to delete events
  • own name first on talk card
  • initial noob or nerd
  • color theme and outsource some stuff to CSS
  • improve create card
  • highlight creator name on card
  • show time of event on card
  • sort cards by date/time of event. Show unscheduled cards sorted by creation date after all scheduled cards
  • visualize "event passed" state (remove card, disable, or move to a different board)
  • Teams as tooltips and user property
  • captcha for registration form or invitation codes
  • motorboat wroom wroom
  • iDevice formatting
  • RoHOW domain for Mopad (h3ndrk is in contact with pgoettsch)
  • Upcoming talks with clearer text color (black?)
  • caldav/iCal feed? Implemented at https://github.com/HULKs/mopad/tree/ical
    • Implemented via Firebase Functions which requires the Blaze billing plan to deploy the function (not available in the free plan)
    • Some minor tweaks are still left to do (e.g. add a duration field to talks, fill the location with a sensible value)
  • talks should move automatically between sections ("past", "current", "upcoming") while time passes
  • talk scheduling is broken (see error in console)
  • edit dialog updates when other users update talks (resets changes)
  • test with different time zones @PasGl
  • allow to add hashtags and maybe allow to filter by hashtag @schmidma
  • Set homepage in package.json
  • let user and scheduler edit talk duration
  • allow collapsing past talks or add ability to quickly scroll over them
  • login and register forms should allow to select a team with the keyboard
  • improve error messages (login, register, talk editing, talk scheduling, talk creation, etc.)
  • long description lines that cannot wrap (e.g. single word) break layout of cards
  • hide delete button for normal users (only users with "editor" role should be allowed to delete talks)
  • disallow empty title and/or description
  • add counter of nerds and noobs to the labels
  • disable user-select: none and rethink how to get tooltips to work on mobile (long press selects random text on page instead of displaying the tooltip)
  • allow pressing enter to submit various forms throughout the application (e.g. login, register, talk dialogs, etc.)
  • FAB is not on top of buttons on cards (check that dialog backdrops are still on top of the FAB, see https://material-ui.com/customization/z-index/#z-index)
  • truncate list of names (maybe absorb the remaining names in a number and/or tooltip)
  • Login with Discord maybe too complicated for the RoHOW
    • OAuth2
    • Firebase Authentication does not support Discord directly
    • may be achieved with manual Firebase Functions
    • Make usernames clickable in UI
  • use the official GitHub Action instead of the third-party solution to eventually speed up deployments (this action cannot deploy firestore and functions)
  • Externalize event and hosting config for reusability WONT FIX by h3ndrk
  • improve "NERD" and "NOOB" buttons (some users were confused whether they were buttons or regular text) WONT FIX by h3ndrk
  • harmonize height of cards WONT FIX by h3ndrk
    • e.g. via maximum height, minimum height or exact height of description
  • reconsider grid breakpoints and item amounts to optimize for large screens WONT FIX by h3ndrk
  • GDPR
  • backups of database
  • calculated userId hash gets shown in "save password?" dialogs of web browsers
  • add button to clear search bar
  • search bar is too small
  • mention waiting GIF source
  • searching with spaces at the end is problematic (maybe trim search string?)

Restrict Firestore rules for security

We need proper rules in firestore.rules s.t. we restrict only authenticated and authorized users to read or make changes to Firestore. This requires evaluating document fields within rules. All features of the frontend (signing in, listing teams, creating talks, editing talks, etc.) must be represented by the rules.

User Story Template

User Story

As a ..., I want ..., in order to ...

Description

somewhat detailed description of what is actually going on

Acceptance Criteria

  • Everything works
  • and we also find the ball

Tasks

  • Things
  • To
  • Do

Additional Info

additional info, e.g. link to documentation, etc.

Test Cases

special things to consider when testing

Restrictions / Out of Scope

don't rewrite everything!

TODO before RoHOW 2022

2022-10-29

  • editing while other peoples edit (focus gets lost) CANNOT REPRODUCE
  • enter press should blur, tab may select the next box
  • clientside validation duration
  • empty description
  • auto login
  • username field is not detected by KeePass
  • Add logout and footer when logged in

2022-11-16

  • Long titles do not wrap
  • Enter does not work in description
  • Creating new talk defocus'es
  • Failed login does not create an alert
  • Make footer links smaller
  • Noob/nerd counts twice sometimes (relogin increases counts)

Chestboard bootloop in firefox private mode

(i.e. the actual page never loads)

Console says:

Uncaught Error: InvalidStateError: A mutation operation was attempted on a database that did not allow mutations.
    onerror auth.esm.js:291
    Au auth.esm.js:291
    Et auth.esm.js:84
    Au auth.esm.js:291
    Mu auth.esm.js:292
    r auth.esm.js:292
    Et auth.esm.js:84
    Ru auth.esm.js:292
    <anonymous> auth.esm.js:293
    b auth.esm.js:296
    g auth.esm.js:88
    zt auth.esm.js:91
    Ut auth.esm.js:91
    fc auth.esm.js:90
    Ot auth.esm.js:84
    promise callback*dt auth.esm.js:84
    bt auth.esm.js:84
    Vt auth.esm.js:90
    Rt auth.esm.js:89
    It auth.esm.js:85
    Hu auth.esm.js:296
    oc auth.esm.js:302
    ac auth.esm.js:302
    rf auth.esm.js:369
    hf auth.esm.js:372
    instanceFactory auth.esm.js:432
    getOrInitializeService provider.ts:194
    getImmediate provider.ts:95
    instanceFactory auth.esm.js:433
    getOrInitializeService provider.ts:194
    getImmediate provider.ts:95
    e index.esm.js:5550
    e index.esm.js:15267
    n index.esm.js:15252
    <anonymous> index.esm.js:17071
    <anonymous> index.esm.js:17072
    getOrInitializeService provider.ts:194
    getImmediate provider.ts:95
    _getService firebaseApp.ts:127
    f firebaseNamespaceCore.ts:228
    h firebaseNamespaceCore.ts:209
    m useDocumentsAsObject.js:7
    qe useUsers.js:4
    React 12
    151 index.js:27
    l (index):1
    t (index):1
    r (index):1
    <anonymous> main.640beef3.chunk.js:1
auth.esm.js:291:142

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.