guru-pr / gurupr Goto Github PK
View Code? Open in Web Editor NEWSite do Grupo de Usuários Ruby do Paraná
Home Page: http://www.gurupr.org/
Site do Grupo de Usuários Ruby do Paraná
Home Page: http://www.gurupr.org/
I think that isn't the main goal right now, but I took some interface (and feature) references for us.
Share your thoughts!
Now we using mini_racer gem.
Add atom feed for events.
Add "my account" to user with the options:
Today we create certificate for an user using rails console
, so, we need a interface for this! 😅
Add preview on fields:
summary
description
We need a page to show informations and history about group. But, before, we need a design for this page.
Certificate is "broken"... is opening in two pages.
Maybe we can use AddThisEvent, AddToCalendar or other?
Add missing keys in app.json
Email changes are not replicated to sendgrid.
We get no menus to access users
and events
when logged as an administrator.
This navigation looks like one in an app made by me 😜
Sometimes menu (javascript) don't open and is need to reload page to open menu. );
All pages using same title guru-pr :: grupo de usuários ruby do paraná
. We need change this title each page.
/admin/users
/admin/events
Each event with a images gallery, for better disclose and show how to the are events for those never were
All files are only translated to portuguese (pt-BR), we need add also english!
We need a newsletter to sent mail directly to our users. I think the sendgrid is a good choice.
It is necessary three tasks to integrate with mailchimp.
# in english
resources :events, only: :show
# in portuguese
resources :eventos, only: :show, controller: :events
Output...
event GET /events/:id(.:format) events#show
evento GET /eventos/:id(.:format) events#show
On application load, many useless javascript files are loaded...
Started GET "/assets/bootstrap/alert-7c03e11fecf6b3ef100f76ae4f08586e.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:21 +0000
Started GET "/assets/bootstrap/carousel-93f34f850a932957c93b7605c79faf45.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:21 +0000
Started GET "/assets/bootstrap/button-98bba85be4dcdd597554e0b7ce8e33a2.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:22 +0000
Started GET "/assets/bootstrap/tab-a90a1841af8c1eae12bfa5283a8093b0.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:22 +0000
Started GET "/assets/bootstrap/transition-9e4de96204f41141474e9dbb59570af9.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:22 +0000
Started GET "/assets/bootstrap/dropdown-65c3929585250221f53bae696936ed44.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:22 +0000
Started GET "/assets/bootstrap/collapse-7a82a3d4fb154ded3d2702465e21ca00.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:22 +0000
Started GET "/assets/bootstrap/scrollspy-e550695030be1d627d1ba91b14792316.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:23 +0000
Started GET "/assets/bootstrap/tooltip-4d90d4ee015d2df34a7696864b2ea83c.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:23 +0000
Started GET "/assets/bootstrap/popover-5a060f876311e7fcb18f35058070de5a.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:23 +0000
Started GET "/assets/bootstrap-sprockets-00b1738c651720f44abc4bbf70bedb3e.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:23 +0000
Started GET "/assets/bootstrap/modal-ce380b9327d2cf6c826d8df818ea48a1.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:23 +0000
Started GET "/assets/application-576da6a87a0c93d40cf63b9486c27202.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:24 +0000
Started GET "/assets/bootstrap/carousel-93f34f850a932957c93b7605c79faf45.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:24 +0000
Started GET "/assets/bootstrap/collapse-7a82a3d4fb154ded3d2702465e21ca00.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:24 +0000
Started GET "/assets/bootstrap/dropdown-65c3929585250221f53bae696936ed44.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:24 +0000
Started GET "/assets/bootstrap/tab-a90a1841af8c1eae12bfa5283a8093b0.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:25 +0000
Started GET "/assets/bootstrap/modal-ce380b9327d2cf6c826d8df818ea48a1.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:25 +0000
Started GET "/assets/bootstrap/tooltip-4d90d4ee015d2df34a7696864b2ea83c.js?body=1" for 10.0.2.2 at 2015-02-20 17:13:25 +0000
Currently the informations are persisted only in first login. But is necessary change to update informations in each login.
https://github.com/guru-pr/gurupr/blob/master/app/models/user.rb#L12
We can use free SSH by https://letsencrypt.org/ to make https://gurupr.org/ :)
➜ gurupr git:(feature/enhance-responsive-layout) cp .env.example .env
➜ gurupr git:(feature/enhance-responsive-layout) docker-compose build
db_data uses an image, skipping
db uses an image, skipping
Building web
Step 1 : FROM ruby:2.3.1
---> f9d9c2725d36
Step 2 : RUN curl -sL https://deb.nodesource.com/setup_4.x | bash -
---> Running in 50400ee10899
## Installing the NodeSource Node.js v4.x LTS Argon repo...
## Populating apt-get cache...
+ apt-get update
Get:1 http://security.debian.org jessie/updates InRelease [63.1 kB]
Get:2 http://security.debian.org jessie/updates/main amd64 Packages [391 kB]
Ign http://httpredir.debian.org jessie InRelease
Get:3 http://httpredir.debian.org jessie-updates InRelease [142 kB]
Get:4 http://httpredir.debian.org jessie Release.gpg [2373 B]
Get:5 http://httpredir.debian.org jessie-updates/main amd64 Packages [17.6 kB]
Get:6 http://httpredir.debian.org jessie Release [148 kB]
Get:7 http://httpredir.debian.org jessie/main amd64 Packages [9064 kB]
Fetched 9829 kB in 27s (360 kB/s)
Reading package lists...
## Installing packages required for setup: apt-transport-https lsb-release...
+ apt-get install -y apt-transport-https lsb-release > /dev/null 2>&1
## Confirming "jessie" is supported...
+ curl -sLf -o /dev/null 'https://deb.nodesource.com/node_4.x/dists/jessie/Release'
## Adding the NodeSource signing key to your keyring...
+ curl -s https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add -
OK
## Creating apt sources list file for the NodeSource Node.js v4.x LTS Argon repo...
+ echo 'deb https://deb.nodesource.com/node_4.x jessie main' > /etc/apt/sources.list.d/nodesource.list
+ echo 'deb-src https://deb.nodesource.com/node_4.x jessie main' >> /etc/apt/sources.list.d/nodesource.list
## Running `apt-get update` for you...
+ apt-get update
Hit http://security.debian.org jessie/updates InRelease
Get:1 https://deb.nodesource.com jessie InRelease [3914 B]
Get:2 http://security.debian.org jessie/updates/main amd64 Packages [391 kB]
Get:3 https://deb.nodesource.com jessie/main Sources [763 B]
Get:4 https://deb.nodesource.com jessie/main amd64 Packages [966 B]
Ign http://httpredir.debian.org jessie InRelease
Hit http://httpredir.debian.org jessie-updates InRelease
Hit http://httpredir.debian.org jessie Release.gpg
Get:5 http://httpredir.debian.org jessie-updates/main amd64 Packages [17.6 kB]
Hit http://httpredir.debian.org jessie Release
Get:6 http://httpredir.debian.org jessie/main amd64 Packages [9064 kB]
Fetched 9478 kB in 49s (190 kB/s)
Reading package lists...
## Run `apt-get install nodejs` (as root) to install Node.js v4.x LTS Argon and npm
---> e94d412740dd
Removing intermediate container 50400ee10899
Step 3 : RUN apt-get update && apt-get install -y libc-ares2 libv8-3.14.5 postgresql-client nodejs --no-install-recommends && rm -rf /var/lib/apt/lists/*
---> Running in c933729d1ad2
Hit http://security.debian.org jessie/updates InRelease
Hit https://deb.nodesource.com jessie InRelease
Get:1 http://security.debian.org jessie/updates/main amd64 Packages [391 kB]
Get:2 https://deb.nodesource.com jessie/main Sources [763 B]
Get:3 https://deb.nodesource.com jessie/main amd64 Packages [966 B]
Ign http://httpredir.debian.org jessie InRelease
Hit http://httpredir.debian.org jessie-updates InRelease
Hit http://httpredir.debian.org jessie Release.gpg
Get:4 http://httpredir.debian.org jessie-updates/main amd64 Packages [17.6 kB]
Hit http://httpredir.debian.org jessie Release
Get:5 http://httpredir.debian.org jessie/main amd64 Packages [9064 kB]
Fetched 9474 kB in 33s (283 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following extra packages will be installed:
postgresql-client-9.4 postgresql-client-common rlwrap
Suggested packages:
postgresql-9.4 postgresql-doc-9.4
The following NEW packages will be installed:
libc-ares2 libv8-3.14.5 nodejs postgresql-client postgresql-client-9.4
postgresql-client-common rlwrap
0 upgraded, 7 newly installed, 0 to remove and 2 not upgraded.
Need to get 11.6 MB of archives.
After this operation, 52.0 MB of additional disk space will be used.
Get:1 http://security.debian.org/ jessie/updates/main libc-ares2 amd64 1.10.0-2+deb8u1 [72.5 kB]
Get:2 https://deb.nodesource.com/node_4.x/ jessie/main nodejs amd64 4.6.0-1nodesource1~jessie1 [8943 kB]
Get:3 http://httpredir.debian.org/debian/ jessie/main libv8-3.14.5 amd64 3.14.5.8-8.1 [1269 kB]
Get:4 http://httpredir.debian.org/debian/ jessie/main postgresql-client-common all 165+deb8u1 [73.7 kB]
Get:5 http://httpredir.debian.org/debian/ jessie/main postgresql-client-9.4 amd64 9.4.9-0+deb8u1 [1079 kB]
Get:6 http://httpredir.debian.org/debian/ jessie/main postgresql-client all 9.4+165+deb8u1 [52.1 kB]
Get:7 http://httpredir.debian.org/debian/ jessie/main rlwrap amd64 0.41-1 [75.7 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 11.6 MB in 21s (547 kB/s)
Selecting previously unselected package libc-ares2:amd64.
(Reading database ... 21173 files and directories currently installed.)
Preparing to unpack .../libc-ares2_1.10.0-2+deb8u1_amd64.deb ...
Unpacking libc-ares2:amd64 (1.10.0-2+deb8u1) ...
Selecting previously unselected package libv8-3.14.5.
Preparing to unpack .../libv8-3.14.5_3.14.5.8-8.1_amd64.deb ...
Unpacking libv8-3.14.5 (3.14.5.8-8.1) ...
Selecting previously unselected package postgresql-client-common.
Preparing to unpack .../postgresql-client-common_165+deb8u1_all.deb ...
Unpacking postgresql-client-common (165+deb8u1) ...
Selecting previously unselected package postgresql-client-9.4.
Preparing to unpack .../postgresql-client-9.4_9.4.9-0+deb8u1_amd64.deb ...
Unpacking postgresql-client-9.4 (9.4.9-0+deb8u1) ...
Selecting previously unselected package postgresql-client.
Preparing to unpack .../postgresql-client_9.4+165+deb8u1_all.deb ...
Unpacking postgresql-client (9.4+165+deb8u1) ...
Selecting previously unselected package rlwrap.
Preparing to unpack .../rlwrap_0.41-1_amd64.deb ...
Unpacking rlwrap (0.41-1) ...
Selecting previously unselected package nodejs.
Preparing to unpack .../nodejs_4.6.0-1nodesource1~jessie1_amd64.deb ...
Unpacking nodejs (4.6.0-1nodesource1~jessie1) ...
Setting up libc-ares2:amd64 (1.10.0-2+deb8u1) ...
Setting up libv8-3.14.5 (3.14.5.8-8.1) ...
Setting up postgresql-client-common (165+deb8u1) ...
Setting up postgresql-client-9.4 (9.4.9-0+deb8u1) ...
update-alternatives: using /usr/share/postgresql/9.4/man/man1/psql.1.gz to provide /usr/share/man/man1/psql.1.gz (psql.1.gz) in auto mode
Setting up postgresql-client (9.4+165+deb8u1) ...
Setting up rlwrap (0.41-1) ...
update-alternatives: using /usr/bin/rlwrap to provide /usr/bin/readline-editor (readline-editor) in auto mode
Setting up nodejs (4.6.0-1nodesource1~jessie1) ...
Processing triggers for libc-bin (2.19-18+deb8u6) ...
---> 49b2d7290e45
Removing intermediate container c933729d1ad2
Step 4 : RUN update-alternatives --force --install /usr/bin/node node /usr/bin/nodejs 10
---> Running in de846c46397c
update-alternatives: warning: forcing reinstallation of alternative /usr/bin/nodejs because link group node is broken
---> 8c2b5c27f6b4
Removing intermediate container de846c46397c
Step 5 : RUN mkdir -p /usr/src/app
---> Running in 2502daa64695
---> ccf0c96c19c9
Removing intermediate container 2502daa64695
Step 6 : WORKDIR /usr/src/app
---> Running in 2dc401977aac
---> 5d240da758d6
Removing intermediate container 2dc401977aac
Step 7 : COPY Gemfile* /usr/src/app/
---> a16082175c21
Removing intermediate container dc59af72c247
Step 8 : RUN bundle install
---> Running in ba6587cbf27d
Fetching gem metadata from https://rubygems.org/........
Fetching version metadata from https://rubygems.org/...
Fetching dependency metadata from https://rubygems.org/..
Installing rake 11.3.0
Installing concurrent-ruby 1.0.2
Installing i18n 0.7.0
Installing minitest 5.9.1
Installing thread_safe 0.3.5
Installing builder 3.2.2
Installing erubis 2.7.0
Installing mini_portile2 2.1.0
Installing rack 2.0.1
Installing nio4r 1.2.1 with native extensions
Installing websocket-extensions 0.1.2
Installing mime-types-data 3.2016.0521
Installing arel 7.1.4
Installing addressable 2.4.0
Installing execjs 2.7.0
Installing aws_cf_signer 0.1.3
Installing sass 3.4.22
Installing thor 0.19.1
Installing byebug 9.0.6 with native extensions
Installing json 2.0.2 with native extensions
Installing mimemagic 0.3.2
Installing unf_ext 0.0.7.2 with native extensions
Installing netrc 0.11.0
Installing docile 1.1.5
Installing simplecov-html 0.10.0
Installing coffee-script-source 1.10.0
Installing method_source 0.8.2
Installing database_cleaner 1.5.3
Installing debug_inspector 0.0.2 with native extensions
Installing diff-lcs 1.2.5
Installing dotenv 2.1.1
Installing request_store 1.3.1
Installing multipart-post 2.0.0
Installing hashie 3.4.6
Installing multi_json 1.12.1
Installing jwt 1.5.6
Installing multi_xml 0.5.5
Installing pdf-core 0.6.1
Installing pg 0.19.0 with native extensions
Installing ttfunk 1.4.0
Installing puma 3.6.0 with native extensions
Using bundler 1.13.2
Installing rails_serve_static_assets 0.0.5
Installing rails_stdout_logging 0.0.5
Installing redcarpet 3.3.4 with native extensions
Installing redis 3.3.1
Installing rspec-support 3.5.0
Installing tilt 2.0.5
Installing shoulda-context 1.2.1
Installing temple 0.7.7
Installing sqlite3 1.3.12 with native extensions
Installing turbolinks-source 5.0.0
Installing faker 1.6.6
Installing tzinfo 1.2.2
Installing nokogiri 1.6.8.1 with native extensions
Installing rack-test 0.6.3
Installing sprockets 3.7.0
Installing websocket-driver 0.6.4 with native extensions
Installing mime-types 3.1
Installing autoprefixer-rails 6.5.1
Installing uglifier 3.0.2
Installing bourbon 4.2.7
Installing unf 0.1.4
Installing simplecov 0.12.0
Installing coffee-script 2.4.1
Installing faraday 0.9.2
Installing omniauth 1.3.1
Installing rollbar 2.13.3
Installing prawn 2.1.0
Installing rails_12factor 0.0.3
Installing rspec-core 3.5.4
Installing rspec-expectations 3.5.0
Installing rspec-mocks 3.5.0
Installing slim 3.0.7
Installing turbolinks 5.0.1
Installing activesupport 5.0.0.1
Installing loofah 2.0.3
Installing xpath 2.0.0
Installing mail 2.6.4
Installing bootstrap-sass 3.3.7
Installing domain_name 0.5.20160826
Installing codeclimate-test-reporter 0.6.0
Installing oauth2 1.2.0
Installing rails-dom-testing 2.0.1
Installing globalid 0.3.7
Installing activemodel 5.0.0.1
Installing factory_girl 4.7.0
Installing jbuilder 2.6.0
Installing shoulda-matchers 2.8.0
Installing spring 2.0.0
Installing rails-html-sanitizer 1.0.3
Installing capybara 2.10.1
Installing http-cookie 1.0.3
Installing omniauth-oauth2 1.4.0
Installing activejob 5.0.0.1
Installing activerecord 5.0.0.1
Installing carrierwave 0.11.2
Installing shoulda 3.5.0
Installing actionview 5.0.0.1
Installing rest-client 2.0.0
Installing omniauth-github 1.1.2
Installing activemodel-serializers-xml 1.0.1
Installing friendly_id 5.1.0
Installing actionpack 5.0.0.1
Installing cloudinary 1.2.3
Installing actioncable 5.0.0.1
Installing actionmailer 5.0.0.1
Installing railties 5.0.0.1
Installing draper 3.0.0.pre1
Installing sprockets-rails 3.2.0
Installing route_translator 5.0.2
Installing simple_form 3.3.1
Installing coffee-rails 4.2.1
Installing dotenv-rails 2.1.1
Installing factory_girl_rails 4.7.0
Installing font-awesome-rails 4.6.3.1
Installing jquery-rails 4.2.1
Installing rails-i18n 5.0.1
Installing rspec-rails 3.5.2
Installing web-console 3.3.1
Installing rails 5.0.0.1
Installing sass-rails 5.0.6
Bundle complete! 41 Gemfile dependencies, 122 gems now installed.
Bundled gems are installed into /usr/local/bundle.
---> 350ddfc64f91
Removing intermediate container ba6587cbf27d
Step 9 : COPY . /usr/src/app
---> f2736df0bc27
Removing intermediate container 2d0401a1a0a7
Step 10 : EXPOSE 3000
---> Running in 8a7ead7da733
---> 4322b937911d
Removing intermediate container 8a7ead7da733
Step 11 : CMD rails server -b 0.0.0.0
---> Running in a473c3beb187
---> 0cdf252e621c
Removing intermediate container a473c3beb187
Successfully built 0cdf252e621c
➜ gurupr git:(feature/enhance-responsive-layout) docker-compose run --rm web rake db:setup
Pulling db_data (postgres:9.4.5)...
9.4.5: Pulling from library/postgres
03e1855d4f31: Pull complete
a3ed95caeb02: Pull complete
9fa1fd7786d8: Pull complete
b0119b52de2a: Pull complete
5bea54cbf09c: Pull complete
5de01a15fe86: Pull complete
27b06e1f36cf: Pull complete
5ad9907af87a: Pull complete
6d4c10585b85: Pull complete
2d4f8ba8bf6e: Pull complete
f8899d5c9afb: Pull complete
9b433e892030: Pull complete
Digest: sha256:9cdc73850f7ffca359421ed66b1b888e8baa5ad8ea8e9cfd41b61cf65323a94e
Status: Downloaded newer image for postgres:9.4.5
Creating gurupr_db_data_1
Creating gurupr_db_1
I, [2016-10-16T19:49:36.354028 #1] INFO -- : [Rollbar] Scheduling item
I, [2016-10-16T19:49:36.354163 #1] INFO -- : [Rollbar] Sending item
W, [2016-10-16T19:49:43.270152 #1] WARN -- : [Rollbar] Got unexpected status code from Rollbar api: 400
I, [2016-10-16T19:49:43.270570 #1] INFO -- : [Rollbar] Response: {
"err": 1,
"message": "access token required"
}
I, [2016-10-16T19:49:43.270672 #1] INFO -- : [Rollbar] Details: https://rollbar.com/instance/uuid?uuid=b5d31519-c895-4d8e-9d7a-fd072648f234 (only available if report was successful)
rake aborted!
URI::InvalidURIError: bad URI(is not URI?): cloudinary://lala@lele:lili@lolo
/usr/local/bundle/gems/cloudinary-1.2.3/lib/cloudinary.rb:83:in `config_from_url'
/usr/local/bundle/gems/cloudinary-1.2.3/lib/cloudinary.rb:72:in `config'
/usr/local/bundle/gems/cloudinary-1.2.3/lib/cloudinary/helper.rb:271:in `block in included'
/usr/local/bundle/gems/cloudinary-1.2.3/lib/cloudinary/helper.rb:267:in `class_eval'
/usr/local/bundle/gems/cloudinary-1.2.3/lib/cloudinary/helper.rb:267:in `included'
/usr/local/bundle/gems/cloudinary-1.2.3/lib/cloudinary/railtie.rb:6:in `include'
/usr/local/bundle/gems/cloudinary-1.2.3/lib/cloudinary/railtie.rb:6:in `block in <class:Railtie>'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/lazy_load_hooks.rb:36:in `execute_hook'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/lazy_load_hooks.rb:45:in `block in run_load_hooks'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/lazy_load_hooks.rb:44:in `each'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/lazy_load_hooks.rb:44:in `run_load_hooks'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/application/finisher.rb:65:in `block in <module:Finisher>'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/initializable.rb:30:in `instance_exec'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/initializable.rb:30:in `run'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/initializable.rb:55:in `block in run_initializers'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/initializable.rb:54:in `run_initializers'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/application.rb:352:in `initialize!'
/usr/src/app/config/environment.rb:5:in `<top (required)>'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `block in require'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:259:in `load_dependency'
/usr/local/bundle/gems/activesupport-5.0.0.1/lib/active_support/dependencies.rb:293:in `require'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/application.rb:328:in `require_environment!'
/usr/local/bundle/gems/railties-5.0.0.1/lib/rails/application.rb:448:in `block in run_tasks_blocks'
/usr/local/bundle/gems/rake-11.3.0/exe/rake:27:in `<top (required)>'
Tasks: TOP => db:setup => db:schema:load_if_ruby => environment
(See full trace by running task with --trace)
Will be nice if we implement the rules of rubocop into this project...
What do you think?!
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.