Giter Site home page Giter Site logo

yavin-dev / framework Goto Github PK

View Code? Open in Web Editor NEW
84.0 21.0 35.0 252.89 MB

A framework for rapidly building production quality analytics applications

Home Page: https://yavin.dev

License: MIT License

JavaScript 25.48% HTML 0.69% CSS 4.52% Shell 0.05% Kotlin 6.76% TypeScript 54.78% Handlebars 5.67% SCSS 2.05%
node javascript emberjs reports dashboards visualizations big-data hacktoberfest yavin

framework's Introduction

yavin-logo

Yavin Framework

A framework for rapidly building production quality analytics applications

Docs - Demo - Community

Yavin Framework Pipeline Status

Note: This repository contains the core code of the Yavin framework. If you want to build an application using Yavin, visit the Yavin App Repository.

Yavin is a framework for rapidly building custom data applications that offers both a UI and an API. Yavin can also be deployed as a standalone business intelligence tool in a few simple steps. Build reports, assemble dashboards, and explore data with ad-hoc queries.

Jump right in with the demo app or run it yourself by following our quick start guide.

yavin demo app landing page

Packages

You can install the individual packages via npm npm (custom registry) npm (custom registry) npm (custom registry)

Package Description
navi-core Library of visualizations and common components
navi-dashboards Collection of components for creating collections of visualization
navi-data Adapters and serializers for connecting to data sources (elide/fili)
navi-directory Overview of all saved/favorited reports and dashboards
navi-notifications Helper library for in app alerts
navi-reports Collection of components for building advanced ad-hoc reports

Contributing

Assuming you have git, node (>=10), and ember-cli

  • git clone https://github.com/yavin-dev/framework.git
  • cd yavin
  • CI=true npm install (CI=true makes use of each package's package-lock.json file)
  • cd packages/reports (or whichever package)
  • ember s to run a local server
  • Then npm test to test your changes

See CONTRIBUTING.md

Resources

License

This project is licensed under the MIT License.

framework's People

Contributors

100starnight avatar aklish avatar alex-aralis avatar anupkumangodan avatar ayeswarya avatar balajimanoharan avatar blitzmohit avatar colemanprojects avatar cythrawll avatar daniellevinson avatar dependabot[bot] avatar directdetour avatar dvarshney1 avatar holderb5 avatar jacobtolar avatar jkusa avatar kevinhinterlong avatar lydakis avatar moizarafat avatar mtgraham avatar objnamegit avatar ramshakr avatar rishi-aga avatar ruiqian1 avatar shubhaemk avatar tacocat avatar utsabpoud avatar watfagithub avatar willmsn98 avatar xuefeng-zhu avatar

Stargazers

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

Watchers

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

framework's Issues

Remove `ember-tether`

In ember-tooltips 2.9.2, ember-tether has been moved from a peer-dependency to a dependency. We should be able to safely remove it from package.json and the blueprints

Make rebuildConfig() take request object returned by navi-data

The request argument to rebuildConfig() currently needs to be a bard-request/request fragment instance.

If it instead took the serialized request object returned from the navi-data fact service, any visualization would have the information needed to build a default config if none was provided.

Fix scroll behavior in navi-app

There is a css issue with navi-app for list views that needs to allow scrolling when lists are long enough to overflow the body.

Need to have a consistent dummy-app

The dummy app for all the packages are all very different. We need to make this more consistent.

TOFIX

  • Visualizations
    • Pie chart component doesn't render in the dummy app
    • Config Component span half the screen

Single button to toggle filters

Dimension/metric filters are added with one button, and removed through another. It's natural to try and click the "add filter" icon to toggle it off once the filter is already there.

Navi date picker not intuitive on hourly/all timegrain

Date Picker should always seem inclusive to the user
Irrespective of timegrain being hourly, all, daily, weekly, or monthly

Date Picker should, because of fili naturally being exclusive,
Daily: increment by 1 day when sending the query
E.g. user selects dec 8th - 22nd
User sees 8th -22nd everywhere
Bard query reads 8th -23rd 0th hour

Weekly: determine start of week til end of week, where end is first hour first day of the next week
E.g. user selects dec 8th - 22nd
User sees 8th -22nd everywhere
Bard query reads 8th -23rd 0th hour

Hourly: increment by 1 day before sending the query
E.g. user selects dec 8th - 22nd
User sees 8th -22nd everywhere
Bard query reads 8th -23rd 0th hour

All: increment by 1 day before sending the query
E.g. user select dec 8th - 22nd
User sees 8th -22nd everywhere
Bard query reads 8th -23rd 0th hour

Allow series selector to expand beyond edit panel

The series selector can seem a little cramped. We should let it overflow outside the config pane.

TODO:

  • Allow series selector to expand
  • Investigate column reorder test utility
  • Investigate broken test

screen shot 2018-02-22 at 3 53 18 pm

Consider renaming checkbox-selector class

In the alerts package, we have a use case for using the checkbox-selector class in a selector that has no checkboxes. It would be nice if the class name was independent of the UI elements used.

Refactor request clone to use copy

model Fragments implement Ember.Copyable, so we should make sure each of the Fragments we have implement copy() correctly, then request.clone() can be replaced with request.copy. and vastly be simplified.

Make visualization `options` argument optional

Current:

{{navi-visualizations/metric-label
    model=model
    options=options
}}

New:

{{navi-visualizations/metric-label
    model=model
}}

If options is not provided, the visualization will generate a default based on model.request and model.response.

Needs #49.

Remove `Ember.Binding`

Ember.Binding is deprecated. We are most likely using it in situations with two way data bindings preventing us from using computed.readOnly.

navi-collection keeps filter state between acceptance tests

The favorite report tests in acceptance/custom-reports-test.js filter the report view to show only favorites. This state is then persisted in any of the following acceptance tests.

We need to make sure state isn't leaked between tests.

Navi WS

  • Elide Standalone - in progress
  • Navi models own build
  • lerna + mvn - investigate

Loader Component

  • Need to move navi-loader to navi-core
  • Need to rename loading-message to navi-loading-message and move to navi-core

have generic styles for the components so that they aren't overridden everywhere they are used.

Metric Removal Breaks Report Builder

Problem:
If a metric is removed from the WS metadata, the report builder breaks and there is no way to recover the report.

Proposed Solution:
We should ideally clean up the removed metrics from the report object and notify the owner that a metric from the report has been removed, but still allow the user to view the report or modify it.

Set up demo

We need to have a demo out there on the internet.

Fix all deprecation warnings in tests

There are a ton of deprecation warnings. Since the repo is almost up to date with the latest ember version, we should investigate and fix these deprecation warnings.

Metric/dimension tooltips can be too verbose to read

Part of the problem is too little space to hold large amounts of text. The other is the large amount of text.

We should consider more flexible tooltip sizes, or some type of "Show Full Description" button.

Refactor Index Routes

Refactor report and dashboard index routes
Ideally we would want a single route for reports and sub-routes nested under it for

  • report-collections
  • favorite reports
  • scheduled reports
    etc.

And similarly for dashboards.

The sub routes should be configurable and extendable in the app

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.