Giter VIP home page Giter VIP logo

dotledger's Introduction

Dot Ledger Build Status Code Climate

Dot Ledger is a Free and Open Source personal finance management tool.

The aim of this project is to create a stable, FOSS alternative to Xero Personal which was shut down in November 2014.

Setup

Dot Ledger requires:

The basic setup steps are:

  • git clone https://github.com/dotledger/dotledger.git
  • cd dotledger
  • cp config/database.yml.example config/database.yml

You'll have to modify the postgres username and password in config/database.yml.

  • bundle install
  • bundle exec rake db:setup
  • bundle exec rails server

Tests

Run all tests

bundle exec rake spec spec:javascript

Run ruby tests (RSpec)

bundle exec rake spec

Run javascript tests (Jasmine)

bundle exec rake spec:javascript

Screenshots

See the screenshots section of the Dot Ledger website.

License

Copyright 2013 - 2018, Kale Worsley, BitBot Limited.

Dot Ledger is made available under the Apache License, Version 2.0. See LICENSE for details.

dotledger's People

Contributors

kaleworsley avatar matt-wratt avatar stevesbrain avatar timobleeker 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  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

dotledger's Issues

I can't seem to be able to create transactions

Hello,

I am currently testing your application on my server, I can create payments but none appear as transactions that i can sort out in the "my accounts" tab, could you help me please ?

I can't seem to be able to do that on the demo server either.

Creating Transactions Silently Fails

On Debian Stretch, Debian repositories used where possible.

Attempting to add a transaction doesn't seem to work right. Some transactions appear in the view, others do not. For example:

Name: my check
Type: receive
Amount: 2321
Category: Salary & Wages
Date: 2017-07-14

No error message, no new transaction in the web page. However, the database has committed the rows. Since I tried it a couple of different ways, there are a couple of different versions of the same transaction in the database. For example, only one of the rent transactions is rendered in the page, and no income is rendered.

below is "select * from payments"

id name category_id amount type schedule created_at updated_at
1 test rent schedule 16 900 Spend ---/n:start_time: 2017-07-01 00:00:00.000000000 -07:00/n:rrules:/n- :validations: {}/n :rule_type: IceCube::MonthlyRule/n :interval: 999/n:rtimes: []/n:extimes: []/n 2017-07-20 03:57:23.122123 2017-07-20 03:57:23.122123
2 test rent schedule 16 900 Spend ---/n:start_time: 2017-08-01 00:00:00.000000000 -07:00/n:rrules:/n- :validations: {}/n :rule_type: IceCube::MonthlyRule/n :interval: 44/n:rtimes: []/n:extimes: []/n 2017-07-20 03:58:57.785774 2017-07-20 03:58:57.785774
3 test expense schedule 27 833.33 Spend ---/n:start_time: 2017-07-18 00:00:00.000000000 -07:00/n:rrules:/n- :validations: {}/n :rule_type: IceCube::MonthlyRule/n :interval: 44/n:rtimes: []/n:extimes: []/n 2017-07-20 04:02:45.019783 2017-07-20 04:02:45.019783
4 test expense schedule 27 833.33 Spend ---/n:start_time: 2017-07-18 00:00:00.000000000 -07:00/n:rrules:/n- :validations: {}/n :rule_type: IceCube::MonthlyRule/n :interval: 44/n:rtimes: []/n:extimes: []/n 2017-07-20 04:03:42.890531 2017-07-20 04:03:42.890531
5 test expense schedule 27 788.88 Spend ---/n:start_time: 2017-07-18 00:00:00.000000000 -07:00/n:rrules:/n- :validations: {}/n :rule_type: IceCube::MonthlyRule/n :interval: 11/n:rtimes: []/n:extimes: []/n 2017-07-20 04:04:15.645165 2017-07-20 04:04:15.645165
6 test expense schedule 27 633 Spend ---/n:start_time: 2017-07-17 00:00:00.000000000 -07:00/n:rrules:/n- :validations: {}/n :rule_type: IceCube::MonthlyRule/n :interval: 44/n:rtimes: []/n:extimes: []/n 2017-07-20 04:27:28.753658 2017-07-20 04:27:28.753658
7 test expense schedule 27 633 Spend ---/n:start_time: 2017-07-19 21:28:33.000000000 -07:00/n:rrules:/n- :validations: {}/n :rule_type: IceCube::MonthlyRule/n :interval: 44/n:rtimes: []/n:extimes: []/n 2017-07-20 04:28:33.901146 2017-07-20 04:28:33.901146
8 test income schedule 23 2,321 Receive ---/n:start_time: 2017-07-14 00:00:00.000000000 -07:00/n:rrules:/n- :validations: {}/n :rule_type: IceCube::MonthlyRule/n :interval: 99/n:rtimes: []/n:extimes: []/n 2017-07-20 04:32:15.774019 2017-07-20 04:32:15.774019
9 test income schedule 23 2,321 Receive ---/n:start_time: 2017-07-14 00:00:00.000000000 -07:00/n:rrules:/n- :validations: {}/n :rule_type: IceCube::MonthlyRule/n :interval: 44/n:rtimes: []/n:extimes: []/n 2017-07-20 04:33:35.07448 2017-07-20 04:33:35.07448
10 test income schedule 23 2,321 Receive ---/n:start_time: 2017-07-14 00:00:00.000000000 -07:00/n:rrules:/n- :validations: {}/n :rule_type: IceCube::MonthlyRule/n :interval: 4/n:rtimes: []/n:extimes: []/n 2017-07-20 04:35:09.481792 2017-07-20 04:35:09.481792
11 test income schedule 23 2,312 Receive ---/n:start_time: 2017-07-14 00:00:00.000000000 -07:00/n:rrules: []/n:rtimes: []/n:extimes: []/n 2017-07-20 05:11:27.239339 2017-07-20 05:11:27.239339
12 test income schedule 23 2,320 Receive ---/n:start_time: 2017-07-14 00:00:00.000000000 -07:00/n:rrules: []/n:rtimes: []/n:extimes: []/n 2017-07-20 05:15:04.994602 2017-07-20 05:15:04.994602

Wishlist:
The payment gui needs a drop-down box that populates with the names of the accounts to associate where expenses are paid. Adding a column to expense table would not be expensive.

Totally my opinion, the "category" column needs to be the text value, not the ID from the category table. It would make that table very easy to read.

Faster Docker image boot

As I see it will recompile assets each time we run docker image, would it be better to create image with precompiled assets?

Probably can separate dockerfile for development and for production (which being push to hub.docker.com)

Project Status?

I've just come across this project and would love to use it, contribute, etc. But it seems like it has recently died, so to speak.

The last commit was in May 2018, over a year ago.

Does anyone have any better info on the status? Has the maintainer given it up?

Thanks!

Peer authentication failed for user "dot_ledger"

Hello, I have been trying to get this installed for the past few hours and no matter what I do I receive the following error for each of the databases when I run $bundle exec rake db:setup

Couldn't create database for {"adapter"=>"postgresql", "encoding"=>"unicode", "database"=>"dot_ledger_test", "pool"=>5, "username"=>"dot_ledger", "password"=>">redacted<"}
-- enable_extension("plpgsql")
rake aborted!
PG::ConnectionBad: FATAL:  Peer authentication failed for user "dot_ledger"

I have ensured that the password that I have inserted into config/database.yml is the same password for the postgres user account as well. The entire dot_ledger directory is owned by postgres, which is the user that is calling the above command.

Docker Start Issue

I am starting in docker, and I'm getting this error:

LoadError: Could not load 'active_record/connection_adapters/dpostgres_adapter'. Make sure that the adapter in config/database.yml is valid. If you use an adapter other than 'mysql', 'mysql2', 'postgresql' or 'sqlite3' add the necessary adapter gem to the Gemfile.

Uploading statements

Having a little trouble uploading statements

TypeError: statement is null form.self.js:58:16
TypeError: this.ui.balanceGraph.bind is not a function balance_graph.self.js:77:0

I understand you are not actively developing this project but it would be awesome if you could fix this. Also what file formats are supported?

New category type

Is it possible to add new Category Type (Essential, Flexible, Income, Transfer)?

Unable to run db migrations because scheme was not correct

I am using Docker to run both postgres and dotledger

Postgres

docker create \
--name=dot_ledger_db \
--restart=always \
-e POSTGRES_PASSWORD=dot_ledger \
-e POSTGRES_USER=dot_ledger \
-e POSTGRES_DB=dot_ledger \
postgres:9.6

Dotledger

docker create \
--name=dot_ledger \
--restart=always \
--link dot_ledger_db:dot_ledger_db \
-e DATABASE_URL="postgres://dot_ledger:dot_ledger@dot_ledger_db/dot_ledger?sslmode=disable" \
-e RAILS_SERVE_STATIC_FILES=true \
-e RAILS_LOG_TO_STDOUT=true \
-p 3000:3000 \
dotledger/dotledger

During startup I get this message

rake aborted!
URI::InvalidURIError: the scheme postgres does not accept registry part: dot_ledger:dot_ledger@dot_ledger_db (or bad hostname?)

I am able to stand up an alpine container, install postgresql-client, and connect with the db url in the dotledger docker create, using this command: docker run -it --link dot_ledger_db:dot_ledger_db alpine:latest /bin/sh

Any help would be appreciated.

Multi Currency Support

Hi,

Really good software. However, whether it supports the multi currency, for example, can I record expense and revenue in AUD / INR?

If not, I can contribute by adding docker file and adding multi currency support ?

[UX] Many accounts makes menu overflow

See an example in the demo copy of the application. If there are too many accounts to fit on the screen in the top menu dropdown, there is no way to get to the ones at the bottom of the list.

screen shot 2017-12-26 at 13 31 39

One easy solution might be to add a route in Backbone for /accounts that will list all accounts available for the currently logged-in user account. We might also change the link "Accounts" at the top menu bar to go to that page and have a hover/focus event open the dropdown, mirroring the current functionality.

Making a fully-fledged page enumerating all of the accounts might also make it a bit more mobile-friendly, I'd imagine.

Request: Repeat Expense Timeout

I'd love to be able to auto-stop a repeat expense after a certain date and/or N iterations.

For example, a payment I need to make only 8 times, once per month.

automate categorisation rules

Hi, great work!

Would if be possible to enhance the system to allow categories to be automatically set to transactions in bulk, based on the description or description criteria?

Thanks

Lack of date range filter

I really like Dot Ledger. It is nearly perfect for personal finance. However, there is a lack of one feature which is a show stopper for me IMHO.

The available really limited date filters are,

7 Days
14 Days
30 Days
90 Days
180 Days
Month-to-date
Year-to-date

This is not very useful at all. There needs to be a date range filter where the user can specify exact date range.

Ruby 2.0 compatibility issues

I'm running CentOS7 from the offical centos:7 docker image, and am trying to install dotledger.
CentOS7 has the following ruby version:

# ruby --version
ruby 2.0.0p648 (2015-12-16) [x86_64-linux]
# bundle --version
Bundler version 1.7.8

When running bundle install, I get the following error:

Gem::InstallError: active_model_serializers requires Ruby version >= 2.1.
An error occurred while installing active_model_serializers (0.10.3), and Bundler cannot continue.
Make sure that `gem install active_model_serializers -v '0.10.3'` succeeds before bundling.

After installing ruby 2.1 (through rvm), the above commands succeeds. Ruby version:

# ruby --version
ruby 2.1.0p0 (2013-12-25 revision 44422) [x86_64-linux]
# bundler --version
Bundler version 1.13.7

I have no experience with ruby gem install, and cannot contribute a solution except the ruby upgrade, but I think that we have two possibilities here:

  • Use a active_model_serializers version compatible to ruby 2.0
  • Require ruby 2.1 in the README (right now it requires Ruby (>= 2.0))

I'd send a pull request for the second solution if you want.

Production deployment not loading

I only see a blank page when the rails server is execute in the production environment. Development and test environments work fine. Here is the full log

I, [2017-09-08T14:26:28.026554 #5056]  INFO -- : Started GET "/" for 216.13.88.82 at 2016-09-08 14:26:28 -0400
I, [2016-09-08T14:26:28.043425 #5056]  INFO -- : Processing by ApplicationController#boot as HTML
I, [2016-09-08T14:26:28.046395 #5056]  INFO -- :   Rendered application/boot.html.erb within layouts/application (0.3ms)
I, [2016-09-08T14:26:28.052548 #5056]  INFO -- : Completed 200 OK in 9ms (Views: 8.8ms | ActiveRecord: 0.0ms)
I, [2016-09-08T14:26:28.135597 #5056]  INFO -- : Started GET "/stylesheets/application.css" for 216.13.88.82 at 2016-09-08 14:26:28 -0400
I, [2016-09-08T14:26:28.136479 #5056]  INFO -- : Processing by ApplicationController#boot as CSS
I, [2016-09-08T14:26:28.136514 #5056]  INFO -- :   Parameters: {"page"=>"stylesheets/application"}
I, [2016-09-08T14:26:28.137246 #5056]  INFO -- : Completed 500 Internal Server Error in 1ms (ActiveRecord: 0.0ms)
F, [2016-09-08T14:26:28.138513 #5056] FATAL -- :
ActionView::MissingTemplate (Missing template application/boot with {:locale=>[:en], :formats=>[:css], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby, :coffee]}. Searched in:
  * "/home/sadman/dotledger/app/views"
  * "/var/lib/gems/2.0.0/gems/kaminari-0.17.0/app/views"
):
  actionview (4.2.7.1) lib/action_view/path_set.rb:46:in `find'
  actionview (4.2.7.1) lib/action_view/lookup_context.rb:121:in `find'
  actionview (4.2.7.1) lib/action_view/renderer/abstract_renderer.rb:18:in `find_template'
  actionview (4.2.7.1) lib/action_view/renderer/template_renderer.rb:40:in `determine_template'
  actionview (4.2.7.1) lib/action_view/renderer/template_renderer.rb:8:in `render'
  actionview (4.2.7.1) lib/action_view/renderer/renderer.rb:46:in `render_template'
  actionview (4.2.7.1) lib/action_view/renderer/renderer.rb:27:in `render'
  actionview (4.2.7.1) lib/action_view/rendering.rb:100:in `_render_template'
  actionpack (4.2.7.1) lib/action_controller/metal/streaming.rb:217:in `_render_template'
  actionview (4.2.7.1) lib/action_view/rendering.rb:83:in `render_to_body'
  actionpack (4.2.7.1) lib/action_controller/metal/rendering.rb:32:in `render_to_body'
  actionpack (4.2.7.1) lib/action_controller/metal/renderers.rb:37:in `render_to_body'
  actionpack (4.2.7.1) lib/abstract_controller/rendering.rb:25:in `render'
  actionpack (4.2.7.1) lib/action_controller/metal/rendering.rb:16:in `render'
  actionpack (4.2.7.1) lib/action_controller/metal/instrumentation.rb:44:in `block (2 levels) in render'
  activesupport (4.2.7.1) lib/active_support/core_ext/benchmark.rb:12:in `block in ms'
  /usr/lib/ruby/2.0.0/benchmark.rb:296:in `realtime'
  activesupport (4.2.7.1) lib/active_support/core_ext/benchmark.rb:12:in `ms'
  actionpack (4.2.7.1) lib/action_controller/metal/instrumentation.rb:44:in `block in render'
  actionpack (4.2.7.1) lib/action_controller/metal/instrumentation.rb:87:in `cleanup_view_runtime'
  activerecord (4.2.7.1) lib/active_record/railties/controller_runtime.rb:25:in `cleanup_view_runtime'
  actionpack (4.2.7.1) lib/action_controller/metal/instrumentation.rb:43:in `render'
  actionpack (4.2.7.1) lib/action_controller/metal/implicit_render.rb:10:in `default_render'
  actionpack (4.2.7.1) lib/action_controller/metal/implicit_render.rb:5:in `send_action'
  actionpack (4.2.7.1) lib/abstract_controller/base.rb:198:in `process_action'
  actionpack (4.2.7.1) lib/action_controller/metal/rendering.rb:10:in `process_action'
  actionpack (4.2.7.1) lib/abstract_controller/callbacks.rb:20:in `block in process_action'
  activesupport (4.2.7.1) lib/active_support/callbacks.rb:117:in `call'
  activesupport (4.2.7.1) lib/active_support/callbacks.rb:117:in `call'
  activesupport (4.2.7.1) lib/active_support/callbacks.rb:555:in `block (2 levels) in compile'
  activesupport (4.2.7.1) lib/active_support/callbacks.rb:505:in `call'
  activesupport (4.2.7.1) lib/active_support/callbacks.rb:505:in `call'
  activesupport (4.2.7.1) lib/active_support/callbacks.rb:92:in `__run_callbacks__'
  activesupport (4.2.7.1) lib/active_support/callbacks.rb:778:in `_run_process_action_callbacks'
  activesupport (4.2.7.1) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (4.2.7.1) lib/abstract_controller/callbacks.rb:19:in `process_action'
  actionpack (4.2.7.1) lib/action_controller/metal/rescue.rb:29:in `process_action'
  actionpack (4.2.7.1) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
  activesupport (4.2.7.1) lib/active_support/notifications.rb:164:in `block in instrument'
  activesupport (4.2.7.1) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  activesupport (4.2.7.1) lib/active_support/notifications.rb:164:in `instrument'
  actionpack (4.2.7.1) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
  actionpack (4.2.7.1) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
  activerecord (4.2.7.1) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
  actionpack (4.2.7.1) lib/abstract_controller/base.rb:137:in `process'
  actionview (4.2.7.1) lib/action_view/rendering.rb:30:in `process'
  actionpack (4.2.7.1) lib/action_controller/metal.rb:196:in `dispatch'
  actionpack (4.2.7.1) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
  actionpack (4.2.7.1) lib/action_controller/metal.rb:237:in `block in action'
  actionpack (4.2.7.1) lib/action_dispatch/routing/route_set.rb:74:in `call'
  actionpack (4.2.7.1) lib/action_dispatch/routing/route_set.rb:74:in `dispatch'
  actionpack (4.2.7.1) lib/action_dispatch/routing/route_set.rb:43:in `serve'
actionpack (4.2.7.1) lib/action_dispatch/journey/router.rb:43:in `block in serve'
  actionpack (4.2.7.1) lib/action_dispatch/journey/router.rb:30:in `each'
  actionpack (4.2.7.1) lib/action_dispatch/journey/router.rb:30:in `serve'
  actionpack (4.2.7.1) lib/action_dispatch/routing/route_set.rb:817:in `call'
  rack (1.6.4) lib/rack/etag.rb:24:in `call'
  rack (1.6.4) lib/rack/conditionalget.rb:25:in `call'
  rack (1.6.4) lib/rack/head.rb:13:in `call'
  actionpack (4.2.7.1) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
  actionpack (4.2.7.1) lib/action_dispatch/middleware/flash.rb:260:in `call'
  rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context'
  rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call'
  actionpack (4.2.7.1) lib/action_dispatch/middleware/cookies.rb:560:in `call'
  activerecord (4.2.7.1) lib/active_record/query_cache.rb:36:in `call'
  activerecord (4.2.7.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call'
  actionpack (4.2.7.1) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
  activesupport (4.2.7.1) lib/active_support/callbacks.rb:88:in `__run_callbacks__'
  activesupport (4.2.7.1) lib/active_support/callbacks.rb:778:in `_run_call_callbacks'
  activesupport (4.2.7.1) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (4.2.7.1) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (4.2.7.1) lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
  actionpack (4.2.7.1) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
  actionpack (4.2.7.1) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.2.7.1) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.2.7.1) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.2.7.1) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.2.7.1) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.2.7.1) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.2.7.1) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.2.7.1) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
  rack (1.6.4) lib/rack/runtime.rb:18:in `call'
  activesupport (4.2.7.1) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
  rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
  railties (4.2.7.1) lib/rails/engine.rb:518:in `call'
  railties (4.2.7.1) lib/rails/application.rb:165:in `call'
  rack (1.6.4) lib/rack/lock.rb:17:in `call'
  rack (1.6.4) lib/rack/content_length.rb:15:in `call'
  rack (1.6.4) lib/rack/handler/webrick.rb:88:in `service'
  /usr/lib/ruby/2.0.0/webrick/httpserver.rb:138:in `service'
  /usr/lib/ruby/2.0.0/webrick/httpserver.rb:94:in `run'
  /usr/lib/ruby/2.0.0/webrick/server.rb:295:in `block in start_thread'


I, [2016-09-08T14:26:28.164598 #5056]  INFO -- : Started GET "/javascripts/application.js" for 216.13.88.82 at 2016-09-08 14:26:28 -0400
I, [2016-09-08T14:26:28.165231 #5056]  INFO -- : Processing by ApplicationController#boot as JS
I, [2016-09-08T14:26:28.165268 #5056]  INFO -- :   Parameters: {"page"=>"javascripts/application"}
I, [2016-09-08T14:26:28.166598 #5056]  INFO -- :   Rendered application/boot.html.erb (0.3ms)
I, [2016-09-08T14:26:28.166784 #5056]  INFO -- : Completed 200 OK in 1ms (Views: 1.3ms | ActiveRecord: 0.0ms)

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.