Giter Site home page Giter Site logo

adempiere / adempiere-vue Goto Github PK

View Code? Open in Web Editor NEW

This project forked from panjiachen/vue-element-admin

54.0 17.0 48.0 50.1 MB

ADempiere-Vue is a new UI for ADempiere ERP, CRM & SCM. It is based on Vue and uses the UI Toolkit element-ui. It is a great UI for ADempiere ERP, CRM & SCM, based on the newest development stack of Vue, built-in i18n solution, typical templates for enterprise applications, lots of awesome features. This project was forked from Vue-Element-Admin originally write by PanJiaChen / 花裤衩 over MIT license and was changed to GNU/GPL v3 by Yamel Senih after forked granted by PanJiaChen / 花裤衩 on the issue "Extend as GNU/Gpl v3 License #1434".

Home Page: https://adempiere.github.io/adempiere-vue

License: GNU General Public License v3.0

JavaScript 71.43% HTML 0.07% Vue 26.22% CSS 0.06% Handlebars 0.46% SCSS 1.74% Shell 0.02%
adempiere javascript vue vuejs vuecli3 element-ui vue-element-admin java grpc grpc-client grpc-web

adempiere-vue's Introduction

vue version element-ui Docker Pulls Publish GH Action license GitHub release Gitter

English | Spanish

Introduction.

adempiere-vue is a new UI for ADempiere ERP, CRM & SCM]. It based on vue and use the UI Toolkit element-ui.

POS Image

It is a great UI for ADempiere ERP, CRM & SCM based on the newest development stack of vue, built-in i18n solution, typical templates for enterprise applications, lots of awesome features. This project was forked from Vue-Element-Admin originally write by PanJiaChen / 花裤衩 over MIT license and was changed to GNU/GPL v3 by Yamel Senih after forked granted by PanJiaChen / 花裤衩 on issue "Extend as GNU/Gpl v3 License #1434".

adempiere-vue use the modern open source high performance RPC framework that can run in any environment gRPC as server.

The current version is v1.0+ build on vue-cli. If you find a problem, please put issue.

This project does not support low version browsers (e.g. IE). Please add polyfill by yourself.

Preparation

You need to install node and git locally. The project is based on ES2015+, vue, vuex, vue-router, vue-cli , gRPC and element-ui. Understanding and learning this knowledge in advance will greatly help the use of this project.

Edit on CodeSandbox

For all enviroment you should run the follow images:

docker pull erpya/adempiere-grpc-all-in-one
docker pull erpya/proxy-adempiere-api
docker pull erpya/adempiere-vue

Run docker container:

Minimal Docker Requirements

To use this Docker image you must have your Docker engine release number greater than or equal to 3.0.

Build docker image (for development only):

docker build -t erpya/adempiere-vue:dev -f ./Dockerfile .

Download docker image:

docker pull erpya/adempiere-vue

Run container container:

docker run -it \
	--name adempiere-vue \
	-p 80:80 \
	-e API_URL="https://api.erpya.com" \
	erpya/adempiere-vue

Environment variables for the configuration

  • API_URL: It indicates the address of the server to which you will point the service Proxy-Adempiere-Api, by default its value is https://https://api.erpya.com.

NOTE: If you do not change the values of the environment variables, it is not necessary to indicate them in the docker run command, since the default values will be set.

Run docker container with docker-compose:

Or easy run container using docker-compose with follow command:

docker-compose up

Terminal output:

Building web-client
Step 1/8 : FROM node:12-alpine
 ---> 057fa4cc38c2
Step 2/8 : LABEL maintainer="[email protected]"       description="ADempiere-Vue"
 ---> Running in d096cf76ce2d
Removing intermediate container d096cf76ce2d
 ---> 46cc05704121
Step 3/8 : ENV RELEASE_VERSION="3.9.3"
 ---> Running in 9048d159aaf9
Removing intermediate container 9048d159aaf9
 ---> a19699234a5d
Step 4/8 : ENV URL_REPO="https://github.com/adempiere/adempiere-vue"    BINARY_NAME="v$RELEASE_VERSION.zip"     VUE_APP_PROXY_ADDRESS="localhost"       VUE_APP_PROXY_PORT="8989"
 ---> Running in c703a3818cbf
Removing intermediate container c703a3818cbf
 ---> 86b0c2b269c6
Step 5/8 : RUN mkdir -p /opt/Apps &&    cd /opt/Apps &&         echo "Install needed packages... $BINARY_NAME $RELEASE_VERSION" &&      apk --no-cache add curl unzip &&        curl --output "$BINARY_NAME" -L "$URL_REPO/archive/$BINARY_NAME" &&     unzip -o "$BINARY_NAME" &&      rm "$BINARY_NAME" &&    mv "adempiere-vue-$RELEASE_VERSION" adempiere-vue &&    cd adempiere-vue &&    npm install &&   npm run build:prod
 ---> Running in 6f3cb21924dd
Install needed packages... v3.9.3.zip 3.9.3
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.11/community/x86_64/APKINDEX.tar.gz
(1/5) Installing ca-certificates (20191127-r2)
(2/5) Installing nghttp2-libs (1.40.0-r1)
(3/5) Installing libcurl (7.67.0-r0)
(4/5) Installing curl (7.67.0-r0)
(5/5) Installing unzip (6.0-r6)
Executing busybox-1.31.1-r9.trigger
Executing ca-certificates-20191127-r2.trigger
OK: 9 MiB in 21 packages
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   128  100   128    0     0    149      0 --:--:-- --:--:-- --:--:--   149
100  916k    0  916k    0     0   180k      0 --:--:--  0:00:05 --:--:--  254k
Archive:  v3.9.3.zip
1d684b76328e3f6bcd3f75ea011087cce1c13a3c
   creating: adempiere-vue-3.9.3/
  inflating: adempiere-vue-3.9.3/.babelrc
  inflating: adempiere-vue-3.9.3/.editorconfig
adempiere-ui-client |
adempiere-ui-client | > Listening at  http://localhost:9526/

Sponsors

ERP Consultores y Asociados

Become a sponsor and get your logo on our README on GitHub with a link to your site. Become a sponsor

Features

- Login / Logout
- Register
- Forgot Password

- Permission Authentication
  - ADempiere backend permission
  - Page permission
  - Directive permission
  - Permission configuration page

- Multi-environment build
  - Develop (dev)
  - sit
  - Stage Test (stage)
  - Production (prod)

- Global Features
  - I18n
  - Multiple dynamic themes
  - Dynamic sidebar (supports multi-level routing)
  - Dynamic breadcrumb
  - Tags-view (Tab page Support right-click operation)
  - Svg Sprite
  - Screenfull
  - Responsive Sidebar

- Editor
  - Rich Text Editor
  - Markdown Editor
  - JSON Editor

- Excel
  - Export Excel
  - Upload Excel
  - Visualization Excel
  - Export zip

- Table
  - Dynamic Table
  - Drag And Drop Table
  - Inline Edit Table

- Error Page
  - 401
  - 404

- Components
  - Avatar Upload
  - Back To Top
  - Drag Dialog
  - Drag Select
  - Drag Kanban
  - Drag List
  - SplitPane
  - Dropzone
  - Sticky
  - CountTo

- ADempiere supported
  - Window
  - Process
  - Report
  - Smart Browser
  - Form
  - Workflow

- Advanced Example
- Error Log
- Dashboard
- Guide Page
- ECharts
- Clipboard
- Markdown to html

Getting started

Use gRPC ADempiere Server as gRPC provider.

# clone the project
git clone -b develop [email protected]:adempiere/adempiere-vue-.git

# enter the project directory
cd adempiere-vue

# install dependency
yarn install

# develop
yarn dev

This will automatically open http://localhost:9527

Build

# build for test environment
yarn build:stage

# build for production environment
yarn build:prod

Advanced

# preview the release environment effect
yarn preview

# preview the release environment effect + static resource analysis
yarn preview --report

# code format check
yarn lint

# code format check and auto fix
yarn lint --fix

Refer to Documentation for more information

Docker Container

# requires superuser permissions of the operating system ('su' or 'sudo')
docker-compose up

Changelog

Detailed changes for each release are documented in the release notes.

Online Demo

Preview

  • User: demo
  • Password: demo

Donate

If you find this project useful, you can help this make a better UI

Paypal Me

Some Contributors

Thanks you for any effort to improve this great project. The follows are some companies that paying for help us to make a best software.

vDevSoft

Browsers support

Modern browsers and Internet Explorer 10+

IE / Edge
IE / Edge
Firefox
Firefox
Chrome
Chrome
Safari
Safari
IE10, IE11, Edge last 2 versions last 2 versions last 2 versions

License

GNU/GPL v3

Previous License

MIT

Initial Contributors

adempiere-vue's People

Contributors

andojeda avatar dependabot[bot] avatar dongsuo avatar edwinbetanc0urt avatar elsiosanchez avatar frank10000 avatar happystory avatar leij1ang avatar leonel1524 avatar marxangels avatar mayunhai avatar mimimile avatar oscarinak avatar panjiachen avatar raul-mz avatar rcapecce avatar ruochuan12 avatar snyk-bot avatar sofia-ester-calderon avatar spiritree avatar sunchenguang avatar tanialucena avatar tmpbook avatar tuandm avatar wyudong avatar xqbumu avatar yamelsenih avatar yugasun avatar yuntao1997 avatar zyszys 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

Watchers

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

adempiere-vue's Issues

Comparison: Dropdown

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue
    image

  • Element
    image

  • Framework7 (nothing)

  • iView
    image
    image
    image

  • Vue Material
    image

  • Vuetify
    image

Initial Change for ADempiere Vue UI

Hi everybody, this is the fisrt issue for start this wonderful project for improve ADempiere UI with a reactive framework Vue.js

You are welcome to contribute and improve this project.

Best Regard.

Comparison: Table

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

The Tables can be used for show information as grid.
Anatomy
Thead: Header.
Tbody: Body for table.
Tr: Row.
Td: Column.

  • ADempiere
    image
  • Bootstrap Vue
    image
  • Element
    image
  • Framework7
    image
    image
  • iView
    image
    image
  • Vue Material
    image
  • Vuetify
    image

Support to integer component

Hello, it is necessary to migrate the entire component, this will support data imported from gRPC and must conform to ADempiere standards. It should not allow decimal values.

ADempiere
zk-integer

Element-UI
element-integer

ADempiere-Vue Desktop
adempiere-vue-integer

ADempiere-Vue Mobile
adempiere-vue-mobile-integer

Comparison: Input Search (Autocomplete)

Autocomplete element can be used for a fast entry from search, see:
A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    screenshot_20181015_213731
  • Bootstrap Vue
    image
  • Element
    image
  • Framework7
    image
  • iView
    image
  • Vue Material
    image
  • Vuetify
    image
    image

Field Attributes to be supported

This is a definition wthi some Attributes that will be added to new UI:

Column Supported Attributes

  • Column Identifier = "AD_Column_ID"
  • Column Identifier = "UUID"
  • Column Name = "ColumnName"
  • Column SQL = "ColumnSQL" (Is no good added as UI)
  • Display Type = "DisplayType"
  • Mandatory Property = "IsMandatory"
  • Default Logic = "DefaultLogic"
  • IsUpdateable = "IsUpdateable"
  • IsAlwaysUpdateable = "IsAlwaysUpdateable"
  • Name = "Name"
  • Description = "Description"
  • Help = "Help"
  • Is Key = "IsKey"
  • Is Parent = "IsParent"
  • Is Translated = "IsTranslated"
  • Is Encrypted = "IsEncrypted"
  • Is Allow Logging = "IsAllowLogging"
  • Validation Code = "ValidationCode"
  • Field Length = "FieldLength"
  • Value Min = "ValueMin"
  • Value Max = "ValueMax"
  • Allow Copy = "IsAllowCopy"
  • Format Pattern = "FormatPattern"
  • Context Info Script = "ContextInfoScript"
  • Context Info Formatter = "ContextInfoFormatter"

Field Additional Supported Attributes

  • Field Only = "IsFieldOnly"
  • Display Logic = "DisplayLogic"
  • Display Length = "DisplayLength" (Old value)
  • Seq No = "SeqNo"
  • Sort No = "SortNo"
  • Info Factory Class = "InfoFactoryClass" (Old value)
  • Read Only = "IsReadOnly"

Support to Timepicker component

Hello, It is required to migrate the time picker component, using the Element design template, based on ADempiere standards and it can read data from the gRPC server.

ADempiere
image

Element-UI
element-time-picker

ADempiere-Vue Desktop
adempiere-vue-mobile-time-picker

ADempiere-Vue Mobile
adempiere-vue-time-picker

Comparison: Combo Box

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:.

Combo Box is very used for select a item from list, it can be used for:

  • Set and modify a values from array or list.
  • Search a value inside list.
    Anatomy
    Label: Text for identity field.
    List: Saved values to show to user.
    Entry field: Allows typee keys for search result.
  • ADempiere
    image
  • Bootstrap Vue (nothing)
  • Element
    image
    image
  • Framework7 (nothing)
  • iView
    image
    image
  • Vue Material
    image
    image
  • Vuetify
    image

Context variable

handle context variables in the client based on session storage

Support to Memo component

Hello, it is necessary to perform the migration of the memo component that allows a long text - String of up to 250 characters, this is based on the JavaScript framework called vue.js and element-ui templates

screenshot_20190107_085920

Comparison: Field Group

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    collapse
    collapse_2
  • Element
    element_-_collapse
  • Bootstrap Vue
    bootstrap_-_collapse2
  • Collapse - Framework7
    framework7_-_collapsed1
  • Collapse - iView
    iview_-_collapse_2
  • Collapse - Vuetify
    vuetify_-_collapsed1
    vuetify_-_collapsed2

To Added: Slider

Components to migrate from ADempiere Vue.js:

  • ADempiere (nothing)
  • Bootstrap Vue
    image
  • Element
    image
  • Framework7
    image
  • iView (nothing)
  • Vue Material (nothing)
  • Vuetify
    image
    image

Comparison: input Number

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue (nothing)

  • Element
    image
    image

  • Framework7
    image
    image

  • iView
    image
    image
    image

  • Vue Material
    image

  • Vuetify (nothing)

Comparison: Switch (Toggle)

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image
  • Bootstrap Vue
    image
    image
    image
  • Element (nothing)
  • Framework7 (nothing)
  • iView
    image
  • Vue Material
    image
  • Vuetify
    image

Create develop branch

the host was modified to be visible through the network for tests between different cilents.

the commit associated with this issue is 4e87dd

Comparison: Button

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image
    image
    image
    image
  • Element
    image
    image
  • Framework7
    image
    image
    image
  • iView
    image
    image
    image
  • Vue Material
    image
    image
    image
  • Vuetify
    image
    image
    image

Support to the amount component

Hello, it is necessary to migrate the quantity component, this will support the data imported from gRPC and conform to ADempiere standards.

ADempiere
ammount

Element-UI
Element Component
element-number-float

ADempiere-Vue Desktop
adempiere-vue-number-float

ADempiere-Vue Mobile
adempiere-vue-mobile-number-float

Comparison: Check Box

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image
  • Bootstrap Vue
    image
    image
    image
  • Element
    image
    image
    image
  • Framework7
    image
    image
  • iView
    image
    image
  • Vue Material
    image
  • Vuetify
    image
    image

Comparison: Page of Pages

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue
    image

  • Element
    image

  • Framework7 (nothing)

  • iView (nothing)

  • Vue Material (nothing)

  • Vuetify
    image

Support to the color component.

Hello, it is required to migrate the ADempiere component of colors, based on Vuejs and Element UI.

ADempiere
zk-color

Element
element-color

ADempiere Vue Desktop
adempiere-vue-color

ADempiere Vue Mobile
adempiere-vue-mobile-color

Dynamic component

Greetings, it is proposed to implement a dynamic component that calls using lazy load to field components based on ADempiere references. This component will be the one that communicates the fields with the views, taking the main validations as read only, visualization and obligatory and showing the reference of the appropriate field.

By loading the fields and their metadata from the application dictionary. There with the attribute 'displayType' is assigned the attribute 'componentPath'.
https://github.com/adempiere/adempiere-vue/blob/develop/src/utils/ADempiere/index.js#L336
Screenshot_20191118_110841

The path of the component to be displayed is stored in the 'REFERENCES' constant, which returns the path of the component (in the type attribute) according to the type of display (in the attribute alias or id of the reference).
https://github.com/adempiere/adempiere-vue/blob/develop/src/components/ADempiere/Field/references.js#L3
Screenshot_20191118_104923

With the generic label 'component' and the path of the component to import in the attribute 'is', it performs the rendering to visualize the reference of the appropriate field.
https://github.com/adempiere/adempiere-vue/blob/develop/src/components/ADempiere/Field/index.vue#L29
Screenshot_20191118_104820
Screenshot_20191118_104726

For more information: https://vuejs.org/v2/guide/components-dynamic-async.html

As a result it will show the different types of fields associated with the references.
Screenshot_20191118_112046

Comparison: Input File

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue
    image

  • Element
    image
    image
    image

  • Framework7 (nothing)

  • iView
    image
    image
    image
    image

  • Vue Material
    image
    image

  • Vuetify (nothing)

Comparison: Modal dialog

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image
  • Bootstrap Vue
    image
  • Element
    image
    image
    image
    image
    image
  • Framework7
    image
  • iView
    image
  • Vue Material
    image
  • Vuetify
    image

Support to Costs-Prices component

Hello, it is necessary to migrate the cost + prices component, this will support the data imported from gRPC and conform to ADempiere standards.

ADempiere
ammount

Element-UI
element-number-float

ADempiere-Vue Desktop
adempiere-vue-number-float

ADempiere-Vue Mobile
adempiere-vue-mobile-number-float

Comparison: Input Text

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue
    image
    image

  • Element
    image

  • Framework7
    image

  • iView
    image

  • Vue Material
    image

  • Vuetify
    image
    image
    image

Support to List component.

Hello, the migration of the ADempiere list type component will be performed, based on Vuejs and Element-UI for the new ADempiere UI.

ADempiere
zk-list

Element-UI
element-list

ADempiere Vue Desktop
adempiere-vue-list

ADempiere Vue Mobile
adempiere-vue-mobile-list

Migrate Tabs

It is proposed to migrate the tabs, changing the vertical design to the left for a horizontal design at the top. It is currently displayed as follows in the ZK client:

Viewing from a desktop screen:
Screenshot_20191118_093720

Viewing from a mobile phone:
Screenshot_20191118_095548

The standard component of element-ui to use is named tab, type edge letter (https://element.eleme.io/#/en-US/component/tabs#border-card):
screenshot-2018-12-28 componentes element

This display of the new interface, are grouped the tabs with the same table name at the top and the other tabs at the bottom.

Viewing from a desktop screen:
Screenshot_20191118_094341

Viewing from a mobile device:
Screenshot_20191118_094531

Support to Quantity component

hello, it is necessary to migrate the quantity component, this will support the data imported from gRPC and adapt to the ADempiere standards.

  • ADempiere
    zk

  • Element-UI
    ele

  • ADempiere-Vue
    vue

  • ADempiere-Vue mode Mobile
    mobile

Support to binary data component

hello, it is necessary to perform the migration of the binary component (file upload) for this a gRPC-based service is configured that can send the data from the file to the server.

ADempiere
zk-binary-data

Element-UI
element-binary-data

ADempiere-Vue Desktop
adempiere-vue-binary-data

ADempiere-Vue Mobile
adempiere-vue-mobile-binary-data

Comparison: Alert

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    screenshot_20181015_215150
    screenshot_20181015_215316
  • Bootstrap Vue
    image
    image
  • Element
    image
  • Framework7
    image
  • iView
    image
    image
    image
  • Vue Material (nothing)
  • Vuetify
    image
    image

Comparison: Menu List

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image
  • Bootstrap Vue
    image
    image
  • Element
    image
    image
    image
  • Framework7
    image
    image
  • iView
    image
    image
  • Vue Material
    image
  • Vuetify
    image

Comparison: Header Bar

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue
    image

  • Element
    image
    image

  • Framework7
    image

  • iView
    image

  • Vue Material
    image

  • Vuetify
    image
    image

Comparison: Tabs

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image

  • Bootstrap Vue
    image
    image
    image
    image
    image

  • Element
    image
    image

  • Framework7
    image
    image

  • iView
    image

  • Vue Material
    image

  • Vuetify
    image
    image

Some Frameworks for Choice

Based on https://github.com/vuejs/awesome-vue#frameworks this issue is created for document a choice of framework to be used, see it:

All frameworks are selected from Official Github page of Vue

You can see a little comparison of use and start rating from NPM download here
screenshot_20181021_212635

Comparison: Input Password

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    input_password
  • Bootstrap Vue
    bootstrap_vue_-_input_password
  • Element
    element_-_input_password
  • Framework7
    framework7_-_input_password
  • iView
    iview_-_input_password
  • Vue Material (nothing)
  • Vuetify (nothing)

Comparison: Badges

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:
Used for show a number of notification opening

  • ADempiere
    screenshot_20181015_230101
  • Bootstrap Vue
    image
  • Element
    image
    image
  • Framework7
    image
    image
    image
  • iView
    image
    image
    image
  • Vue Material
    image
    image
  • Vuetify
    image
    image
    image

To Added: Progress Bar

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere

  • Bootstrap Vue
    image
    image

  • Element
    image
    image

  • Framework7
    image
    image

  • iView
    image
    image
    image

  • Vue Material
    image
    image

  • Vuetify
    image

Comparison: Input Radio

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

  • ADempiere
    image
  • Bootstrap Vue
    image
  • Element
    image
    image
    image
  • Framework7
    image
  • iView
    image
    image
  • Vue Material
    image
  • Vuetify
    image

Comparison: Text Area

A little comparison between current UI from ADempiere and popular frameworks of Vue.js:

Text Area: Can be used for entry information with many characters.
Anatomy
Label: Identify Field.
Box: Used for entry key

  • ADempiere
    image

  • Bootstrap Vue
    image

  • Element
    image

  • Framework7
    image

  • iView
    image

  • Vue Material
    image

  • Vuetify
    image

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.