GithubHelp home page GithubHelp logo

civic-graph-checkin's People

Contributors

brianavecchione avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar  avatar

civic-graph-checkin's Issues

Form Autocomplete

If a user has checked into the system previously and their identification information has been saved to the Civic Graph mySQL db, query and autocomplete the user's information. Then, forward the form to the end, prompting the user to submit their check in for the day.

Integrate redis db with Nexudus

Our check in system needs to integrate with Nexudus, the 3rd party community management software used within Civic Hall. Nexudus requires the full name, organization, and timestamp of each person checked into CH on a given day. It's unclear at this point if Nexudus's API supports real-time posts to their system. If so, a process (probably a cron job) needs to be written to push the necessary redis check in data to their application.

Name Typeahead: Include entity.nickname

When selecting a name from the db, the typeahead only selects from entity.name. This should be updated so that the field selects from both entity.name and entity.nickname

New Member Message

Check-in does not currently indicate if a new member is being created, which may be confusing or make for accidental duplicates if a registeredMember misspells their name. A message should show within isRegisteredMember if text input is a member and isRegisteredMember = false

Devops Stuff

  • hosting, redis flush, analytics, error reporting, domain, tablet setup

Convert 'submit w/o saving to civic graph' to checkbox

There are currently 2 options for submitting check-in information:

  • 'Check-In' submits user data to the temporary redis db as well as the production civic graph db
    *'Continue without saving to civicgraph.io' only saves user data to the temporary redis db

For increased ease of user-flow, the button which only saves to the temporary db should be converted to a checkbox

Attendant-facing page

Implement with same output as general checkin (name, org, timestamp) so CH staff can easily visualize

Clean form

The check in form has a series of bugs to be addressed:

  • Double autocomplete (this is because it queries from both redis db and MySQL)
  • "Name:" autocomplete query returns orgs and names (should just return names)
  • Confirmation message: "You're checked in!" is off-center

An alternative to a quicker, smoother UX experience may just be using a Typeform integration instead of custom-built form?

Standup: CSS Changes

Revise ng-disabled fields between org textfield and checkbox so that the other displays a grey background, indicating a user's inability to add information

Form auto-scroll on 'continue'

When a user hits the 'continue' button, the page should auto-scroll to sect.2 of the check-in form (with the ability to scroll back up the page)

Make org field optional

Some users may not have an affiliated organization. Create a checkbox saying "I'm not affiliated with an organization" that users can click that allows org not to be required for valid submission.

Auto-clear user organization

If a user is checking in and needs to change their name for any given reason, the organization is replaced ONLY if the new name already has an associated organization. An update needs to be made so that if an entity does not have an organization, the organization field is cleared.

Integrate with UI

Checkin should have a visualization of entities in-office on a daily basis (flushed daily for those who do not wish to keep their info in CG). All entities should be loaded, but only the entities in-office should be colored on-click.

*Important to note that this visualization/data should not be publicly accessible, for privacy reasons. The UI should have some kind of security implementation (possibly password auth), and the redis data should not have an accessible API.

Force member guestType radio input if isRecognizedMember

If the user is a recognized member and hits the radio button for guest (for whatever reason), both the continue and the check-in button show up. Since this situation isn't a use case that should occur anyway, make the guest radio input not selectable if you're a recognized member.

Flush redis db automation

User information in check in should not be kept for an extended period of time in order to eliminate PII. A cron job should be written to flush the redis db after a given period of time.

For Civic Hall, this means flushing the database on a daily basis after sending the necessary information to Nexudus. For an event, this may mean flushing the database after the end of the event duration. The job should be flexible to allow for personal preference depending on usage.

CSS Changes

  • Decrease size of checkmark after submitting
  • 'Choose as many as you like' message for type of work field should be same CSS styling as the rest of the instructions

Add details to check in form

Check in currently prompts the user for:

  • Name
  • Organization (location of org & influence if it's a new org)
  • Location asking "where are you based?" (not sure we need this, seems like duplicated info)
  • Collaborations
  • Twitter handle

When comparing against the Civic Graph details form, the details prompts are missing the following:

  • Type of Work
  • Website
  • of Employees

  • Data exchanges
  • Funding exchanges

In order to keep the form brief for a smooth check in, it may be worthwhile to eliminate some of these elements, but "Type of Work", for example, should definitely be prompted from user.

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.