Coder Social home page Coder Social logo

ssagov / genesys Goto Github PK

View Code? Open in Web Editor NEW
12.0 3.0 4.0 5.12 MB

A prototyping toolkit using Visual Studio Code aimed at designers. Only HTML knowledge required.

Home Page: https://ssagov.github.io/genesys/

License: Other

JavaScript 85.87% CSS 13.43% HTML 0.70%
prototyping-tool design-tools

genesys's Introduction

⚝ Genesys

Design in the Browser Prototyping

Genesys screenshot

Genesys Website: https://ssagov.github.io/genesys/

Genesys provides a simple way to make rich, accessible, interactive prototypes using a declarative language (HTML). It enables designers and UI developers to quickly create a low to high-fidelity prototypes, or even production-ready user interfaces.

Genesys provides support for most major design systems like Bootstrap, Material Design, Foundation, Ionic, Tailwind, Tachyons, et. al.) and you can add any others.

Additional features include multi-lingual support, automated walk-throughs, on-screen comments, A/B testing, conditional logic, animation, and more, all through markup.

Note that Genesys allows you to create and test fully accessible, Section 508-compliant prototypes.

Demo

Requirements

Getting Started

  1. Download the latest Genesys archive package from this repository. Select that big green button labelled Code above, then select Download ZIP. Finally, extract the Zip file contents wherever you want.
  2. Start Visual Studio Code and select File > Open Folder... and then select Genesys from the location you extracted it to.
  3. In VSCode, select the Extensions panel, search for and install the Genesys extension and the Design in the Browser extension from the Microsoft Extensions Marketplace.
  4. Optional: Download and install Git in order to enable version control.

Once you have everything installed, you're ready to go. Start with our tutorials.

Tutorials

Features

Built-in Design Systems
Including Material Design, Bootstrap, Microsoft Fluent, U.S Web Design Standards, Salesforce Lightning, and more. Add your own as well.

Accessibility Checking
Integrated accessibilty checking of your prototypes through ANDI and Lighthouse.

Real-Time Collaboration
Integrated Kanban board, whiteboard and application sharing through LiveShare.

Single Source of Truth
No more approximations of designs. Prototypes are 100% accurate and responsive, since they are built in the browser.

Version Control
Explore and version designs with the integrated industry-standard Git version control system. View a visual history of design changes.

Annotations & Walkthroughs
Easily add and view designer comments or fully automated design walkthroughs right in your prototypes.

Roles, States and Conditional Logic
Multiple user roles, use cases, and conditional logic within a single prototype.

Multi-Lingual
Switch between multiple language designs within the same prototype.

Quick Mockups
Integrated drag & drop mockups with the embedded Draw.io application and prototyping stencils. (SVG Mode)

Master Page Components
Define UI components once and reuse them on multiple pages as Master Page Components.

Variables & Data Persistence
Easily pass user entered data from page to page.

Charting & Diagramming
Create sustainable charts, diagrams, and user flows with integrated Mermaid support.

Animation
Add animation to any element with predefined keywords.

A/B Testing
Easily add simple A/B testing on page content, components, or entire page designs, right within a single prototype.

UX Analytics
Built-in support for collecting UX-specific analytics via Google Analytics and the AutoTrack plugin

Realistic Data
Rapidly create realistic, fake data specific in your designs with the integrated Faker extension.

UX Measurements
Integrated support for industry standard SEQ, SUS, and TLX feedback.

Design Systems Support

Genesys provides built-in support for the following design systems and frameworks for building prototypes:

Additionally, Genesys contains built-in support for WebSlides and Reveal.js for creating web-based presentations.

Contributing

Feel free to contribute to this project by suggesting a new feature or modification, or to discuss issues.

  • Open an issue for any features, modifications, or issues you want to bring up.
  • Have a look at the contributing guidelines before submitting a pull request (PR).

Maintainer

Acknowlegements

Thanks to the following people and projects for producing the great open-source software that powers much of Genesys:

License

This project uses the Apache 2.0 license.

genesys's People

Contributors

ankitmishralive avatar craigcecilssa avatar josephamalfitanossa avatar

Stargazers

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

Watchers

 avatar  avatar  avatar

genesys's Issues

Add Ability to Toggle Thru Multiple Designs on Single Page

Add the ability to toggle thru multiple designs of a UI element or entire page by selecting a surfaced design toggle.

Build on the simple concept described here: https://css-tricks.com/body-toggle/

The last item in the design toggle (dropdown? popup? design number?) could be an option to show all designs at the same time.

Add an item to the Genesys Toolbar to show/hide clickable alternative design indicators.

Add Virtual Keyboard

Integrate a virtual keyboard into the Genesys toolbar. This will allow the prototype page to display a virtual keyboard that appears from the bottom of the page and allows the designer to more accurately see how a virtual keyboard will affect a page design.

https://github.com/hodgef/simple-keyboard

Add Eye Tracking Functionality

Add a Genesys toolbar toggle to turn eye tracking on/off.

The Eye Tracking functionality can be supplied via the Brown University's open-source WebGazer.js module.

Will need to add eye tracking data storage and playback controls.

Add Background Toggle

When HTML elements don’t have backgrounds, it can be difficult to visualize their bounds and/or accurately measure the distance between them and other elements. Developers might want to better visualize bounds when dealing with optical imbalance (i.e. when something “looks off” even though it’s not), margin collapse (when certain margins are ignored), various issues with display:/float:/position:, and more.

Applying backgrounds means applying a semi-transparent background to all HTML elements in order to better visualize their bounds and spacings.

See https://css-tricks.com/web-development-bookmarklets/#applying-a-background-to-everything for more info.

Add Help to Genesys Toolbar

Add a Help icon to the Genesys toolbar, which when selected displays the Tutorials index from the repo in a new browser window/tab.

Update Genesys Toolbar to use Absolute Sizing Units

Currently, the toolbar uses relative sizing of the overall toolbar height and relative sizing on icons and text, based on the page it is used on. This needs to be changed to absolute units for optimal display and UX.

Add Plugin System

Refactor genesys.js so that it supports a robust plugin system for extensibility.

Add 'Powered by Genesys' Footer

Update the footer to all Genesys-built web pages so that it says 'Powered by Genesys' with links to the GitHub repo and a link for Feedback.

Update Mermaid.js

Update the Mermaid.js library to the latest version. This may clear up the two console errors that appear due to this library.

Add Built-in Markdown Viewer/Editor

Add a built-in Markdown viewer/editor (using a best-in-class open-source component) to the Genesys Toolbar.

This toolbar button should open a dialog that allows the designer to view two specific Markdown files for the current prototype page:

  • Given a page name of pagename.html

The designer can create two specifically-named Markdown files:

  • pagename-notes.md (for designer/developer notes)
  • pagename-feedback.md (for reviewer feedback)

These two files can be viewed/edited via a toggle in the Markdown dialog that opens from the Genesys Toolbar button.

Add New Tutorial for 'Iterative Page Prototyping'

Describe and show how to iterate on a single page of a prototype, going from pure text and placeholder content to a fleshed-out layout prototype. Include how to create button clicks to navigate pages and how to create dynamic forms.

Add Presentation Cursor

Add a Genesys toolbar toggle to show/hide a cursor outline/sun effect when presenting prototypes to reviewers. This will make the cursor much easier to follow.

Add Ninja Keys (Keyboard Shortcuts interface)

For those designers who don't want to display the Genesys toolbar, add the Ninja Keys keyboard shortcuts interface. This essentially cleans the UI of the prototyped page to only the design that the designer created. Pressing CTRL+K will bring up the shortcut interface to allow access to Genesys functionality, such as switching to Low-Fidelity, Checking Accessibility, etc.

https://ninja-keys-demo.vercel.app/

Improved README for Novice/First-Time Users

Be much more specific in all instructions (e.g., "to download, select the green Code button near the top of the page")

Be more explicit in the ordering of the README contents and instructions.

Add a link to the Tutorials index in the repo for direct access to this info.

Add New 'Create Simple UEF Page' tutorial

This should be a very small page tutorial, intended to get the user's feet wet with Genesys.

May also want to include a screencast of this tutorial being completed.

Add Boilerplate Configurations Page

Single browser page where the designer picks they options they want (Design System, A/B Testing, Analytics, UX Measurements) and then we write out the starting HTML page boilerplate, which they can then copy and paste.

Add UI Lang Library, Docs, Demo, Tutorial

The open-source uilang library provides the ability to use English-like syntax for interactive behaviors.

Here's an example of a uilang statement:

clicking on ".try-it" toggles class "hidden" on ".info-box"

This will allow designers to quickly add interactivity to prototypes without the need for writing JavaScript code.

http://uilang.com/

Add this functionality to the /demo, /docs, and /tutorials

Host the library within the /components/interaction/uilang directory.

Add Contributors Info

Add a list of contributors (people, open source repos) that helped form Genesys, with links to each.

Add GitHub Pages Content

Add GitHub Pages content for this project. Use the existing standalone website content for this, making it public.

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.