microsofttce / civic-graph-checkin Goto Github PK
View Code? Open in Web Editor NEWcheck-in system for civic graph
check-in system for civic graph
When a user submits, implement a timer that delays refresh for 3 or 4 seconds before reloading the form.
When a user hits 'continue', the first opt-out button and the continue button should be hidden.
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.
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.
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
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
There are currently 2 options for submitting check-in information:
For increased ease of user-flow, the button which only saves to the temporary db should be converted to a checkbox
Implement with same output as general checkin (name, org, timestamp) so CH staff can easily visualize
Clean up frontend styling to make UI responsive.
The check in form has a series of bugs to be addressed:
An alternative to a quicker, smoother UX experience may just be using a Typeform integration instead of custom-built form?
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
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)
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.
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.
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.
Log the time during which any user checks into the system
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.
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.
Check in currently prompts the user for:
When comparing against the Civic Graph details form, the details prompts are missing the following:
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.
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.