Code Monkey home page Code Monkey logo

dbhero's Introduction

THIS REPO IS DEPRECATED, PLEASE SEND ALL PULL REQUESTS TO https://github.com/common-group/services-core INSTEAD.

Catarse

Circle CI Coverage Status Code Climate

The first crowdfunding platform from Brazil

An open-source crowdfunding platform for creative projects

Welcome to Catarse's source code repository. Our goal with opening the source code is to stimulate the creation of a community of developers around a high-quality crowdfunding platform.

You can see the software in action in http://catarse.me. The official repo is https://github.com/catarse/catarse

Getting started

Dependencies

To run this project you need to have:

Setup the project

  • Clone the project

      $ git clone https://github.com/catarse/catarse.git
    
  • Enter project folder

      $ cd catarse
    
  • Create the database.yml

      $ cp config/database.sample.yml config/database.yml
    

    You must do this to configure your local database! Add your database username and password (unless you don't have any).

  • Install the gems

      $ bundle install
    
  • Install the front-end dependencies

      $ npm install
    

    Requires Node.js and its package manager, npm.

  • Create and seed the database

      $ rake db:create db:migrate db:seed
    
  • Configure the API server

    We provide authentication through JWT (JSON Web Tokens) and it can be configured by CatarseSettings into rails console.

      $ bundle exec rails console
      > CatarseSettings[:api_host] = "http://localhost:3004" # postgREST server url
      > CatarseSettings[:jwt_secret] = "gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr9C" # this token is just a valid example
    

If everything goes OK, you can now run the project!

Running the project

  • Run API server

    After downloading PostgREST 0.3.x you can unpack and run the executable as below.

      $ ./postgrest postgres://postgrest@localhost/catarse_development -a anonymous --jwt-secret gZH75aKtMN3Yj0iPS4hcgUuTwjAzZr9C -s 1 -p 3004
    
  • Run Rails server

$ rails server

Open http://localhost:3000

Translations

We hope to support a lot of languages in the future, so we are willing to accept pull requests with translations to other languages.

Thanks a lot to Daniel Walmsley, from http://purpose.com, for starting the internationalization and beginning the English translation.

Payment gateways

Currently, we support pagarme through our payment engines. Payment engines are extensions to Catarse that implement a specific payment gateway logic.

If you have created a different payment engine to Catarse, please contact us so we can link your engine here. If you want to create a payment engine, please join our mailing list at http://groups.google.com/group/catarse-dev

List of payment enginees that are being developed or need to be developed further

https://github.com/catarse/catarse_pagarme (payment engine used by Catarse.me)
https://github.com/devton/catarse_paypal_express (currently out of date and not maintained)
https://github.com/sushant12/CatarseStripe (just starting to be developed and needs extra hands -- please pitch in...)

How to contribute with code

Discuss your plans in our mailing list (http://groups.google.com/group/catarse-dev).

After that, just fork the project, change what you want, and send us a pull request.

Best practices (or how to get your pull request accepted faster)

  • Follow this style guide: https://github.com/bbatsov/ruby-style-guide
  • Create one acceptance tests for each scenario of the feature you are trying to implement.
  • Create model and controller tests to keep 100% of code coverage in the new parts you are writing.
  • Feel free to add specs to committed code that lacks coverage ;)
  • Let our tests serve as a style guide: we try to use implicit spec subjects and lazy evaluation wherever we can.

Credits

Author: Daniel Weinmann

Contributors: You know who you are ;) The commit history can help, but the list was getting bigger and pointless to keep in the README.

License

Copyright (c) 2016 Softa

Licensed under the MIT license (see MIT-LICENSE file)

dbhero's People

Contributors

danielheath avatar devton avatar diogob 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

dbhero's Issues

Error when no dataclip name is provided

When I click "save and refresh" I get the error below if I don't include a dataclip name:

No route matches {:action=>"edit", :controller=>"dbhero/dataclips", :id=>#<Dbhero::Dataclip id: nil, description: "", raw_query: 

dbhero hangs on Mac

I tried to use dbhero app on Mac (El Capitan) with a local mysql database. It established the connection, displayed the list of tables, and showed the first one I clicked on, but then either did not show me any more tables despite having a new name highlighted or simply hung if the first table was huge.

Error: redirect_uri_mismatch

I've added both my main domain and "https://www.mydomain.com/dbhero/dataclips/drive" to my "Authorized redirect URIs".

However, I get the error "Error: redirect_uri_mismatch" when trying to export the data to Google Drive. If I remove the "/dbhero/dataclips/drive", Google accepts the direct_url but then it doesn't redirect to the correct place.

Maintenance help?

I'm getting good use out of dbhero - contributed rails5 support 5 years back.

If you'd like another person to help deal with issues/PRs etc, I'd be happy to help.

Google Drive Export Doesn't work

After successfully using Google's Two-Auth, I get:

ActionController::UrlGenerationError: No route matches {:action=>"show", :controller=>"dbhero/dataclips", :format=>"csv", :id=>nil} missing required keys: [:id]

I found that the error is:

Google::APIClient - Please provide :application_name and :application_version when initializing the client

Rails 5 export CSV problem

Hello,
After upgrading to Rails 5, the export CSV has broken.

Fixed it changing

format.csv do
   send_data @dataclip.csv_string, type: Mime::CSV, disposition: "attachment; filename=#{@dataclip.token}.csv"
end

to

format.csv do
   send_data @dataclip.csv_string, type: Mime[:csv], disposition: "attachment; filename=#{@dataclip.token}.csv"
end

Update DBHero to work with MySQL

I was trying to run DBHero on a MySQL database and have some issues related to index.

[ec2-user@ip-172-31-26-217 dbhero]$ rake db:migrate
== 20160616203934 CreateDbheroDataclips: migrating ============================
-- create_table(:dbhero_dataclips)
   -> 0.0285s
-- add_index(:dbhero_dataclips, :token, {:unique=>true})
rake aborted!
StandardError: An error has occurred, all later migrations canceled:

Mysql2::Error: BLOB/TEXT column 'token' used in key specification without a key length: CREATE UNIQUE INDEX `index_dbhero_dataclips_on_token`  ON `dbhero_dataclips` (`token`) 
/home/ec2-user/.gem/ruby/2.3/gems/mysql2-0.4.4/lib/mysql2/client.rb:107:in `_query'
/home/ec2-user/.gem/ruby/2.3/gems/mysql2-0.4.4/lib/mysql2/client.rb:107:in `block in query'
/home/ec2-user/.gem/ruby/2.3/gems/mysql2-0.4.4/lib/mysql2/client.rb:106:in `handle_interrupt'
/home/ec2-user/.gem/ruby/2.3/gems/mysql2-0.4.4/lib/mysql2/client.rb:106:in `query'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:305:in `block in execute'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_adapter.rb:472:in `block in log'
/usr/local/share/ruby/gems/2.3/gems/activesupport-4.2.6/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_adapter.rb:466:in `log'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:305:in `execute'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/mysql2_adapter.rb:231:in `execute'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:537:in `add_index'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:665:in `block in method_missing'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:634:in `block in say_with_time'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:634:in `say_with_time'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:654:in `method_missing'
/home/ec2-user/dbhero/db/migrate/20160616203934_create_dbhero_dataclips.rb:13:in `change'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:608:in `exec_migration'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:592:in `block (2 levels) in migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:591:in `block in migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:292:in `with_connection'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:590:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:768:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:998:in `block in execute_migration_in_transaction'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:1046:in `ddl_transaction'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:997:in `execute_migration_in_transaction'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:959:in `block in migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:955:in `each'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:955:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:823:in `up'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:801:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/tasks/database_tasks.rb:137:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/railties/databases.rake:44:in `block (2 levels) in <top (required)>'
/usr/local/share/ruby/gems/2.3/gems/rake-11.2.2/exe/rake:27:in `<top (required)>'
ActiveRecord::StatementInvalid: Mysql2::Error: BLOB/TEXT column 'token' used in key specification without a key length: CREATE UNIQUE INDEX `index_dbhero_dataclips_on_token`  ON `dbhero_dataclips` (`token`) 
/home/ec2-user/.gem/ruby/2.3/gems/mysql2-0.4.4/lib/mysql2/client.rb:107:in `_query'
/home/ec2-user/.gem/ruby/2.3/gems/mysql2-0.4.4/lib/mysql2/client.rb:107:in `block in query'
/home/ec2-user/.gem/ruby/2.3/gems/mysql2-0.4.4/lib/mysql2/client.rb:106:in `handle_interrupt'
/home/ec2-user/.gem/ruby/2.3/gems/mysql2-0.4.4/lib/mysql2/client.rb:106:in `query'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:305:in `block in execute'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_adapter.rb:472:in `block in log'
/usr/local/share/ruby/gems/2.3/gems/activesupport-4.2.6/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_adapter.rb:466:in `log'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:305:in `execute'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/mysql2_adapter.rb:231:in `execute'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:537:in `add_index'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:665:in `block in method_missing'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:634:in `block in say_with_time'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:634:in `say_with_time'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:654:in `method_missing'
/home/ec2-user/dbhero/db/migrate/20160616203934_create_dbhero_dataclips.rb:13:in `change'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:608:in `exec_migration'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:592:in `block (2 levels) in migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:591:in `block in migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:292:in `with_connection'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:590:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:768:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:998:in `block in execute_migration_in_transaction'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:1046:in `ddl_transaction'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:997:in `execute_migration_in_transaction'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:959:in `block in migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:955:in `each'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:955:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:823:in `up'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:801:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/tasks/database_tasks.rb:137:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/railties/databases.rake:44:in `block (2 levels) in <top (required)>'
/usr/local/share/ruby/gems/2.3/gems/rake-11.2.2/exe/rake:27:in `<top (required)>'
Mysql2::Error: BLOB/TEXT column 'token' used in key specification without a key length
/home/ec2-user/.gem/ruby/2.3/gems/mysql2-0.4.4/lib/mysql2/client.rb:107:in `_query'
/home/ec2-user/.gem/ruby/2.3/gems/mysql2-0.4.4/lib/mysql2/client.rb:107:in `block in query'
/home/ec2-user/.gem/ruby/2.3/gems/mysql2-0.4.4/lib/mysql2/client.rb:106:in `handle_interrupt'
/home/ec2-user/.gem/ruby/2.3/gems/mysql2-0.4.4/lib/mysql2/client.rb:106:in `query'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:305:in `block in execute'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_adapter.rb:472:in `block in log'
/usr/local/share/ruby/gems/2.3/gems/activesupport-4.2.6/lib/active_support/notifications/instrumenter.rb:20:in `instrument'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_adapter.rb:466:in `log'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:305:in `execute'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/mysql2_adapter.rb:231:in `execute'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract_mysql_adapter.rb:537:in `add_index'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:665:in `block in method_missing'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:634:in `block in say_with_time'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:634:in `say_with_time'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:654:in `method_missing'
/home/ec2-user/dbhero/db/migrate/20160616203934_create_dbhero_dataclips.rb:13:in `change'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:608:in `exec_migration'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:592:in `block (2 levels) in migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:591:in `block in migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/connection_adapters/abstract/connection_pool.rb:292:in `with_connection'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:590:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:768:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:998:in `block in execute_migration_in_transaction'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:1046:in `ddl_transaction'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:997:in `execute_migration_in_transaction'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:959:in `block in migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:955:in `each'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:955:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:823:in `up'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/migration.rb:801:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/tasks/database_tasks.rb:137:in `migrate'
/usr/local/share/ruby/gems/2.3/gems/activerecord-4.2.6/lib/active_record/railties/databases.rake:44:in `block (2 levels) in <top (required)>'
/usr/local/share/ruby/gems/2.3/gems/rake-11.2.2/exe/rake:27:in `<top (required)>'
Tasks: TOP => db:migrate
(See full trace by running task with --trace)

My environment:

[ec2-user@ip dbhero]$ cat /etc/*-release
NAME="Amazon Linux AMI"
VERSION="2016.03"
ID="amzn"
ID_LIKE="rhel fedora"
VERSION_ID="2016.03"
PRETTY_NAME="Amazon Linux AMI 2016.03"
ANSI_COLOR="0;33"
CPE_NAME="cpe:/o:amazon:linux:2016.03:ga"
HOME_URL="http://aws.amazon.com/amazon-linux-ami/"
Amazon Linux AMI release 2016.03

[ec2-user@ip dbhero]$ gem list
*** LOCAL GEMS ***

actionmailer (4.2.6)
actionpack (4.2.6)
actionview (4.2.6)
activejob (4.2.6)
activemodel (4.2.6)
activerecord (4.2.6)
activesupport (4.2.6)
addressable (2.4.0)
arel (6.0.3)
bigdecimal (1.2.8)
binding_of_caller (0.7.2)
builder (3.2.2)
bundler (1.12.5)
byebug (9.0.5)
coffee-rails (4.1.1)
coffee-script (2.4.1)
coffee-script-source (1.10.0)
concurrent-ruby (1.0.2)
dbhero (1.1.9)
debug_inspector (0.0.2)
erubis (2.7.0)
execjs (2.7.0)
faraday (0.9.2)
globalid (0.3.6)
google-api-client (0.9.9)
google_drive (2.0.1)
googleauth (0.5.1)
has_scope (0.7.0)
httpclient (2.8.0)
hurley (0.2)
i18n (0.7.0)
io-console (0.4.5)
jbuilder (2.5.0)
jquery-rails (4.1.1)
json (1.8.3)
jwt (1.5.1)
little-plugger (1.1.4)
logging (2.1.0)
loofah (2.0.3)
mail (2.6.4)
memoist (0.14.0)
mime-types (3.1)
mime-types-data (3.2016.0521)
mini_portile2 (2.1.0)
minitest (5.9.0)
multi_json (1.12.1)
multi_xml (0.5.5)
multipart-post (2.0.0)
mysql2 (0.4.4)
nokogiri (1.6.8)
oauth (0.5.1)
oauth2 (1.1.0)
os (0.9.6)
pkg-config (1.1.7)
power_assert (0.2.7)
psych (2.0.17)
rack (1.6.4)
rack-test (0.6.3)
rails (4.2.6)
rails-deprecated_sanitizer (1.0.3)
rails-dom-testing (1.0.7)
rails-html-sanitizer (1.0.3)
railties (4.2.6)
rake (11.2.2)
rdoc (4.2.2)
representable (2.3.0)
responders (2.2.0)
retriable (2.1.0)
sass (3.4.22)
sass-rails (5.0.4)
sdoc (0.4.1)
signet (0.7.2)
slim (3.0.7)
slim-rails (3.1.0)
spring (1.7.1)
sprockets (3.6.0)
sprockets-rails (3.0.4)
sqlite3 (1.3.11)
temple (0.7.7)
test-unit (3.1.5)
thor (0.19.1)
thread_safe (0.3.5)
tilt (2.0.5)
turbolinks (2.5.3)
tzinfo (1.2.2)
uber (0.0.15)
uglifier (3.0.0)
web-console (2.3.0)

I was using Amazon EC2 with MySQL 5.5.

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.