Giter Site home page Giter Site logo

hanzoai / dash2 Goto Github PK

View Code? Open in Web Editor NEW
3.0 8.0 0.0 2.06 MB

๐Ÿค˜ Hanzo Dash 2.0, powered by Dash.js.

Home Page: http://dash2.hanzo.io

License: Other

CoffeeScript 48.00% HTML 33.92% CSS 18.08%
dashboard daisho javascript reactive riotjs eljs hanzo

dash2's Issues

MVP / Launch

Dashboard

  • Fix #126 Support refund/partial refund
  • Fix #121 Analytics integration
  • Fix #148 Migrate to latest crowdcontrol/crowdstart.js
  • Fix #151 CSV Export.
  • Fix #153 Mailing List becomes Forms
  • Fix #156 Configure webhooks.
  • Fix #155 Add billing/account information.
  • Fix #158 Force billing collection.
  • Fix #159 Add Variants.
  • Fix #161 Add Sites.

Stretch goals

  • Fix #152 Dash: Subscribers
  • Fix #154 Dash: Submissions
  • Fix #160 Dash: Team management

Stats should reflect partial month, week, day changes

If you select view chart by day, and the day is current day, it shows increase/decrease percentage based on a full day which is not useful. It would be nice to have it give the percentage by the current time of day.

Add / Configure webhooks

We need to add webhooks around each model event and also any other important API calls. Example:

package subscriber

import (
    "crowdstart.com/util/webhook"
)

// Hooks
func (s *Subscriber) AfterCreate() error {
    return webhook.Emit(s.Context(), s.Namespace(), "subscriber.created", s)
}

func (s *Subscriber) AfterUpdate(previous *Subscriber) error {
    return webhook.Emit(s.Context(), s.Namespace(), "subscriber.updated", s, prev)
}

func (s *Subscriber) AfterDelete() error {
    return webhook.Emit(s.Context(), s.Namespace(), "subscriber.deleted", s)
}

Models that need this:

  • bundle
  • collection
  • coupon
  • mailinglist
  • order
  • organization (only in default namespace)
  • payment
  • plan
  • product
  • referral
  • referrer
  • site
  • store
  • submission
  • subscriber
  • transaction
  • user (also in default namespace)
  • variant

Analytics integration bugfixes

Few minor bugs:

  • GA image/title broken
  • Need to support arbitrary event names
  • Need to reorganize tracking events, most ecommerce events not grouped together
  • Would be nice if drop area was entire vertical space of middle pane (maybe not worth trouble)
  • Dismiss changes on pop-up save bar would be nice
  • Additionally, sometimes we get weird rendering: http://vrz.io/cGmG
  • Sometimes save widget does not work properly (like when turning extensions on/off and then removing them)
  • /static/backend/img/integrations/google-analytics-logo.png seems to be missing
  • Possibly misleading referring to analytics integrations as both integrations and plugins

Notification / User Prompts

Principles

  • X leads to Y, try to illustrate connections
    • It's not random
  • Tell them when they do really good
  • Tell them when they don't do well
  • Nudge them to do more things
    • Drive manual interaction

Best case scenarios

  • Sales have increased by 45% (since you did Y)
  • Signups have increased by 22% (since you did Y)
  • Revenue has increased by 44% (since you did Y)
  • Ad cost has dropped (since you did Y)

Products

  • Sales increase
  • Quantity increase

Orders

  • Revenue increase
  • Duplicate order increase

Users

  • Duplicate orders?

Worst case scenarios

  • You have not sent an email for 2 months
  • You have not added a coupon in 1 month
  • Sales have declined 40% in the last 6 months since updating your site

Email

  • No emails
  • Email list size declining
  • Response rate of email declines
    • Opens, Clicks, Sales?
    • Customer vs Prospective customer
  • Subscribes drop

Search

  • Searches have dropped

Site

  • No deploys
  • Traffic drops
  • Product views drops
  • Add to cart drops
  • Checkout drops

Coupons

  • No new coupons
  • Coupons not used (but active?)

Orders

  • No new orders
  • Refunds increase
  • Fraud increase

Products

  • No new product on sale

Users

  • No new users
  • User interactions increase (support tickets?)
  • Lower repeat orders?

Force billing collection

  • Need to figure out user onboarding process.
  • Need to lock certain parts of dashboard based on billing status.

Post-Launch (v3)

Principles

  • Each component should be searchable/findable from search
  • Hide complexity
  • Flexible
  • Unique Views for each module/page
    • User is able to understand where they are at
    • Each component feels unique
  • Force customer to think about we're doing
  • Bring them back with notifications and require manual interaction vs automatically doing things
  • Fool them into learning what to do
    • Teach as you go / "Educational Game"
  • Gamify / Achievements
    • Ninja "stars" earned when they do things
    • Badges (achievement unlocked)
    • Automatic and manual (useful if people complain/unhappy to make them happy)

Dash Hierarchy

Products / Features ->
    Modules ->
        Pages ->
            Panel ->
                Named Controls
Ecommerce / Checkout (product)
    Product (module)
        Product List Page (pages?)

First use

  • New user sees a clean slate, no modules active
  • Choose your own adventure
  • Populate modules based upon requested features or signup path

Sidebar

  • Populated based on modules in use, products active
  • Use + button at bottom to add new product/feature/modules

Search / Log

  • Search across everything
  • Search needs to understand product / page / widget / input / entity
  • Highlight in sidebar location of matching panel/named controls
  • Show additional products (if matching)
  • Show matching entities (lazily)
  • Doubles as log?
    • Auto-populate when they do interesting things

Design Concepts

Major Components

  • Header
    • User Menu
  • Search / Log
    • Full width
    • Expands when interacting
    • Locks to context, [ This user x ] or [ Orders x ], etc
      • Doubles as breadcrumb
    • Searchable UI
    • Context-aware filter pane (order list view, etc)
  • Left Sidebar
    • Modules
      • Nested Page?
    • Add / Browse Modules
  • Right Sidebar (context-sensitive)
  • Content / Main?
    • Secondary header
      • Gradient or image based on context
      • Secondary menu
    • Secondary panel

Information

  • Think about what information is useful to present to user to help them understand how to make products convert better.
  • Specials going on, context-aware, up-sell
  • Curated selection of products especially on landing page (upgrades, multiple sells)
  • Metrics specific to conversion on every product/page
  • Show opportunities to change across entire platform
  • Guide users to do the right thing

Inspiration

CSV Export

Bare minimum of reporting support. Should be able to export orders, users, subscriptions, submissions.

Support partial/full refunds

User triggered.

zeekay commented 19 days ago: I'm going to re-open this issue, we still need UI changes, new endpoint needs to be utilized in Dashboard.

MVP

Dash

Hanzo's dashboard.

Audience

Engineer > Support > Marketer.

Engineer / Technical Founder

Engineer at at early-stage startup, Verus or maybe an agency. Possibly a
technical founder, CTO or VP of Engineering. Responsible for building company
site, online store, setting up analytics, interfacing with various services.

  • Needs access to everything
  • Needs to configure everything
  • Needs flexibility
  • Needs basics
    • Basic CRUD across models (create, edit, list products, etc)
    • Automate tedious parts of setup process
      • Importing existing users, orders (Indiegogo, Kickstarter, etc)
      • Setting up analytics
      • Setting up new site, continuous deployment
      • Checkout / payment processing
      • Adding products to system
      • Email configuration
      • Configure (connect) third-party integrations
        • Analytics
        • Email
        • Marketing
        • Payment processing
        • Shipping and Fulfillment
        • Support

Support

Support agent dealing with customer inquiries, possibly a founder (COO or CEO)
in an early-stage startup.

  • Needs access to customers and orders
  • Needs to be able to perform basic operational duties
    • Edit Order
      • Refund order
      • Add/remove line items
    • Edit Customer
      • Resend emails
      • Reset password
      • Credit user's balance

Marketer / Executive

Marketer, CEO or CMO. Possibly founder, usually Verus (managed) or external
consultant.

  • Needs access to analytics configuration
    • Add Facebook Pixel, Google Analytics, etc
    • Configure / view analytics settings
  • Needs access to analytics / reporting views
    • Audience demographics, acquisition, behavior and conversion information
    • User acquisition and sales visualiation of current, trends, predictive
  • Needs access to basic user and order statistics
    • Ideally can discern patterns in orders/signups/etc
  • Needs access to marketing automation tools
  • Needs to be nudged to do right things

Requirements for MVP

I should fulfill the following requirements for MVP:

Functional / Usability

  • New user on-boarding should be functional.
  • Existing users should have same functionality as in present dashboard.
  • We should present our current functionality in a well organized fashion.
  • It should be clear how to include new features, tools.

Focus

Our dashboard should be able to convey value to developers. Long term we'd like
to provide a better experience for everyone, but for now we'll focus on
developers.

  • UI should be fast and intuitively organized.
  • Navigation should be fast.
  • Search needs to be powerful.
  • Platform should be flexible enough to accomodate any number of
    configurations.
  • Setup of new sites/integration should be painless and quick.
  • Maintenance/support should be reasonable.
  • Additional features of product should be encouraged and attractive to expand
    usage to include.

Use cases

New user on-boarding

I want to start a new company selling t-shirts online. I should be able to
on-board my new company and set everything up necessary to start running and
improving my business. The initial process should take at most 5 minutes. All
steps in "full" process should be completable within 10-15 minutes. I should be
encouraged to enable/expand usage of platform to every major feature.

  • Sign-up
  • Add business information
  • Create site
  • Add form
  • Connect analytics
  • Connect payment processor
  • Connect shipping & fulfillment
  • Configure email
  • Go live

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.