inoda / ontrack Goto Github PK
View Code? Open in Web Editor NEW:money_with_wings: A simple self-hosted budgeting app
License: MIT License
:money_with_wings: A simple self-hosted budgeting app
License: MIT License
Hello!
I love this app - fantastic work on it. It's awesome. Thank you for sharing it.
I love the idea of self hosting and being in control of your data - and I know what I'm about to suggest would potentially put some of your data in the hands of a third party, but perhaps it's something to be considered, depending on Plaids T&C? I am not super educated with them, but I do use them for my business finance software and you can use their API for free in small amounts, enough for most people. It connects to your bank and transfers in the data via API supposedly securely.
Might be a good idea to have this as an option in the app? If you have multiple bank accounts and credit cards, it can be a pain to log in (and go through all the security processes) and then export a CSV and import it in. I know some people won't mind doing this, but the lure of just being able to log into this one, self hosted app and immediately see all the information in all your accounts is quite a powerful feature that makes the whole process less painful.
I hope in the future there is an open source and transparent API for connecting to banks etc securely, but as far as I know, Plaid is the best option right now. Love to hear your thoughts
Hi all,
I was having a look at the project as it looks quite interesting. Congratulations on your initiative and thanks for making it accessible to others!
When trying to set it up using docker compose I am getting this error. I've done my best (which is not much) to try finding out where the versions are declared to see if I was able to fix it but I didn't manage so any help will be very welcome!
[+] Building 126.7s (8/8) FINISHED docker:default => [app internal] load build definition from Dockerfile 0.0s
=> => transferring dockerfile: 306B 0.0s => [app internal] load metadata for docker.io/library/ruby:2.6.6-alpine 0.6s
=> [app internal] load .dockerignore 0.0sr => => transferring context: 94B 0.0s
=> [app 1/4] FROM docker.io/library/ruby:2.6.6-alpine@sha256:e38f5d580c93a9007c81136733c279890f94a62bc95935e828138a893a5804c5 0.0s => [app internal] load build context 0.0s
=> => transferring context: 13.09kB 0.0sE => CACHED [app 2/4] WORKDIR /ontrack 0.0s
=> CACHED [app 3/4] COPY . . 0.0s => ERROR [app 4/4] RUN apk add --no-cache build-base postgresql-dev yarn && yarn install --non-interactive --check-files && gem install bundler && bundle update 126.1s
------ > [app 4/4] RUN apk add --no-cache build-base postgresql-dev yarn && yarn install --non-interactive --check-files && gem install bundler && bundle update:
0.182 fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz 0.733 fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz
1.082 (1/40) Upgrading musl (1.2.2-r0 -> 1.2.2-r2) 1.222 (2/40) Upgrading libcrypto1.1 (1.1.1k-r0 -> 1.1.1s-r0)
1.460 (3/40) Upgrading libssl1.1 (1.1.1k-r0 -> 1.1.1s-r0)
1.573 (4/40) Installing binutils (2.35.2-r1)
1.971 (5/40) Installing libmagic (5.39-r0)
2.100 (6/40) Installing file (5.39-r0)
2.171 (7/40) Installing libgomp (10.2.1_pre1-r3)
2.252 (8/40) Installing libatomic (10.2.1_pre1-r3)
2.304 (9/40) Installing libgphobos (10.2.1_pre1-r3)
2.681 (10/40) Installing isl22 (0.22-r0)
2.954 (11/40) Installing mpfr4 (4.1.0-r0)
3.367 (12/40) Installing mpc1 (1.2.0-r0)
3.448 (13/40) Installing gcc (10.2.1_pre1-r3)
8.979 (14/40) Installing musl-dev (1.2.2-r2)
9.498 (15/40) Installing libc-dev (0.7.2-r3)
9.592 (16/40) Installing g++ (10.2.1_pre1-r3)
12.52 (17/40) Installing make (4.3-r0)
12.63 (18/40) Installing fortify-headers (1.1-r0)
12.70 (19/40) Installing patch (2.7.6-r7)
12.77 (20/40) Installing build-base (0.5-r3)
12.83 (21/40) Installing xz-libs (5.2.5-r1)
12.89 (22/40) Installing libxml2 (2.9.14-r2)
13.03 (23/40) Installing llvm10-libs (10.0.1-r1)
16.47 (24/40) Installing clang-libs (10.0.1-r0)
19.35 (25/40) Installing clang (10.0.1-r0)
20.47 (26/40) Installing llvm10 (10.0.1-r1)
21.07 (27/40) Installing openssl-dev (1.1.1s-r0)
21.19 (28/40) Installing icu-libs (67.1-r2)
23.47 (29/40) Installing icu (67.1-r2)
23.54 (30/40) Installing icu-dev (67.1-r2)
23.76 (31/40) Installing libsasl (2.1.28-r0)
23.83 (32/40) Installing libldap (2.4.57-r1)
23.93 (33/40) Installing libpq (13.12-r0)
24.02 (34/40) Installing postgresql-libs (13.12-r0)
24.11 (35/40) Installing postgresql-dev (13.12-r0)
24.63 (36/40) Installing nghttp2-libs (1.42.0-r1)
24.69 (37/40) Installing brotli-libs (1.0.9-r3)
24.81 (38/40) Installing c-ares (1.17.2-r0)
24.87 (39/40) Installing nodejs (14.20.1-r0)
27.17 (40/40) Installing yarn (1.22.10-r0)
27.50 Executing busybox-1.32.1-r5.trigger
27.50 Executing ca-certificates-20191127-r5.trigger
27.55 OK: 454 MiB in 73 packages
27.95 yarn install v1.22.10
28.00 info No lockfile found.
28.01 [1/4] Resolving packages...
39.92 warning @rails/webpacker > @babel/[email protected]: This proposal has been merged to the ECMAScript standard and thus this plugin is no longer maintained. Please use @babel/plugin-transform-class-properties instead.
49.59 warning react-datepicker > react-popper > [email protected]: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
57.10 [2/4] Fetching packages...
71.72 [3/4] Linking dependencies...
76.65 [4/4] Building fresh packages...
77.77 success Saved lockfile.
77.77 Done in 49.83s.
125.9 ERROR: Error installing bundler:
125.9 The last version of bundler (>= 0) to support your Ruby & RubyGems was 2.4.22. Try installing it with `gem install bundler -v 2.4.22`
125.9 bundler requires Ruby version >= 3.0.0. The current ruby version is 2.6.6.146.
------
failed to solve: process "/bin/sh -c apk add --no-cache build-base postgresql-dev yarn && yarn install --non-interactive --check-files && gem install bundler && bundle update" did not complete successfully: exit code: 1
Started GET "/dashboard" for 127.0.0.1 at 2021-09-02 01:07:53 -0400
Processing by DashboardController#index as HTML
Rendering layout layouts/application.html.erb
Rendering dashboard/index.html.erb within layouts/application
[Webpacker] Everything's up-to-date. Nothing to do
Rendered dashboard/index.html.erb within layouts/application (Duration: 14.8ms | Allocations: 3227)
Rendered layout layouts/application.html.erb (Duration: 16.0ms | Allocations: 3319)
Completed 500 Internal Server Error in 20ms (ActiveRecord: 0.0ms | Allocations: 3706)
ActionView::Template::Error (Webpacker can't find dashboard.js in /home/pi/ontrack/public/packs/manifest.json. Possible causes:
1. You want to set webpacker.yml value of compile to true for your environment
unless you are using the `webpack -w` or the webpack-dev-server.
2. webpack has not yet re-run to reflect updates.
3. You have misconfigured Webpacker's config/webpacker.yml file.
4. Your webpack configuration is not creating a manifest.
Your manifest contains:
{
"application.js": "/packs/js/application.js",
"entrypoints": {
"application": {
"assets": {
"js": [
"/packs/js/runtime.js",
"/packs/js/application.js"
]
}
}
},
"js/application.js.map": "/packs/js/application.js.map",
"js/runtime.js.map": "/packs/js/runtime.js.map",
"runtime.js": "/packs/js/runtime.js"
}
):
1: <div id="dashboard"></div>
2:
3: <%= javascript_pack_tag 'dashboard' %>
app/views/dashboard/index.html.erb:3
^C- Gracefully stopping, waiting for requests to finish
=== puma shutdown: 2021-09-02 01:09:03 -0400 ===
- Goodbye!
Exiting
Run with one of the following:
'install_with_brew' to install dependencies and start your server
'start' to start your server if initial installation has completed before
There seems nothing wrong but it just generates 500 error.
OS: Raspbian
CPU: armv7l
NodeJS: lastest
Ruby: 2.6.6
After building and starting db and the app container, creating user and logging in, the next page only has the top menu, while the docker console shows this:
ontrack | ERROR in ./app/javascript/packs/dashboard.jsx 6:0-57
ontrack | Module not found: Error: Can't resolve '../components/dashboard/Main' in '/ontrack/app/javascript/packs'
ontrack |
ontrack | ERROR in ./app/javascript/packs/history.jsx 6:0-53
ontrack | Module not found: Error: Can't resolve '../components/history/Main' in '/ontrack/app/javascript/packs'
ontrack |
ontrack | ERROR in ./app/javascript/packs/insights.jsx 6:0-55
ontrack | Module not found: Error: Can't resolve '../components/insights/Main' in '/ontrack/app/javascript/packs'
Similar messages appear in the browser JS Console. I'm not familiar with Ruby/JS/Webpack, I'm trying to see if I can successfully run with an older commit.
Would it be possible to convert this project into a Docker image?
Thanks for your reply.
Hi! Surprisingly awesome tool.
I have one minor suggestion. I think the category colors in the Spend By Category section should be the default category colors (instead of the current blue). https://i.imgur.com/1XYgu6g.png
The "over budget" part (red) can be black, or just a just a slightly darker shade of the default category color.
Let me know if that makes sense!
Hello, I'm struggling with creating account in docker. I don't know how to solve this issue.
What I've tried is creating manually user and password using:
bundle exec rails c
and
User.create!(username: "...", password: "...")
After above operations, tried to migrate database, but it didn't work. I know it should be done at docker-compose command, but i don't know what is the command.
Also I tried this from documentation describing deploy on Heroku:
docker-compose run bundle exec rails c
Hello, how do I run this app on windows?
Hi,
When I deploy ontrack to Heroku, what're my login credentials? Sorry, I'm pretty new to Heroku.
I saw the import .csv
functionality in your README. Does the same exist for exporting the local database? Would be a great feature!
I am trying to use the 'Deploy to Heroku' button but after I add my app name and start deployment I am getting the following errors
Warning: Multiple default buildpacks reported the ability to handle this app. The first buildpack in the list below will be used. Detected buildpacks: Ruby,Node.js See https://devcenter.heroku.com/articles/buildpacks#buildpack-detect-order -----> Ruby app detected -----> Installing bundler 2.0.2 -----> Removing BUNDLED WITH version in the Gemfile.lock -----> Compiling Ruby/Rails -----> Using Ruby version: ruby-2.6.5 -----> Installing dependencies using bundler 2.0.2 Running: bundle install --without development:test --path vendor/bundle --binstubs vendor/bundle/bin -j4 --deployment The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run
bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java. Fetching gem metadata from https://rubygems.org/............ Your bundle is locked to puma (3.12.3), but that version could not be found in any of the sources listed in your Gemfile. If you haven't changed sources, that means the author of puma (3.12.3) has removed it. You'll need to update your bundle to a version other than puma (3.12.3) that hasn't been removed in order to install. Bundler Output: The dependency tzinfo-data (>= 0) will be unused by any of the platforms Bundler is installing for. Bundler is installing for ruby but the dependency is only for x86-mingw32, x86-mswin32, x64-mingw32, java. To add those platforms to the bundle, run
bundle lock --add-platform x86-mingw32 x86-mswin32 x64-mingw32 java. Fetching gem metadata from https://rubygems.org/............ Your bundle is locked to puma (3.12.3), but that version could not be found in any of the sources listed in your Gemfile. If you haven't changed sources, that means the author of puma (3.12.3) has removed it. You'll need to update your bundle to a version other than puma (3.12.3) that hasn't been removed in order to install. ! ! Failed to install gems via Bundler. ! ! Push rejected, failed to compile Ruby app. ! Push failed
=> ERROR [app 4/4] RUN apk add --no-cache build-base postgresql-dev yarn && yarn install --non-interactive --check-files && gem install bundler && bundle updat 10.2s
------
> [app 4/4] RUN apk add --no-cache build-base postgresql-dev yarn && yarn install --non-interactive --check-files && gem install bundler && bundle update:
0.183 fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/main/x86_64/APKINDEX.tar.gz
5.188 fetch https://dl-cdn.alpinelinux.org/alpine/v3.13/community/x86_64/APKINDEX.tar.gz
5.188 WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.13/main: temporary error (try again later)
10.19 WARNING: Ignoring https://dl-cdn.alpinelinux.org/alpine/v3.13/community: temporary error (try again later)
10.19 ERROR: unable to select packages:
10.19 build-base (no such package):
10.19 required by: world[build-base]
10.19 postgresql-dev (no such package):
10.19 required by: world[postgresql-dev]
10.19 yarn (no such package):
10.19 required by: world[yarn]
------
failed to solve: process "/bin/sh -c apk add --no-cache build-base postgresql-dev yarn && yarn install --non-interactive --check-files && gem install bundler && bundle update" did not complete successfully: exit code: 3
Request to edit README with installation instructions for someone with zero Ruby experience.
As stated in the title, it would be nice to have support for other currencies, such as Euros, where the currency symbol is suffixed instead of prefixed, or Pounds, where the symbol is prefixed like Dollars.
The app can only use one currency, an this could be set in a variable on a configuration file.
Also, thousands and decimal separators in Europe are switched. 1,299.98
in US is 1.299,98
in Europe. To simplify things, another configuration variable could be used to disable thousands separator so the decimal separator is the same (a .
) which is common in programming languages ans computers.
// https://github.com/inoda/ontrack/blob/master/docs/homebrew_install.md
Hey!
Thank you for creating this app!
I'm curious to give it a try. Especially since I'm a Ruby on Rails (and React) developer, so I could build new features myself and contribute with PRs hopefully. :)
I followed the setup instructions and realized that it tries to run bundle exec rake db:create
(https://github.com/inoda/ontrack/blob/master/scripts.sh#L6) right after installing the bundler gem: gem install bundler
(https://github.com/inoda/ontrack/blob/master/scripts.sh#L4)
The step that's missing here is: bundle install
to install the gem dependencies.
Newer versions of rails come with bin
folder containing a lot of useful scripts. One such script is bin/setup
. I think this should be the location where the setup should happen: https://github.com/inoda/ontrack/blob/master/bin/setup
I'll open a PR how I'd modify the script for this app.
Hey, can you just email me at [email protected] and I'll give you the details.
Thanks
The Heroku build fails due to the package using ruby-2.6.6.
Log:
-----> Building on the Heroku-22 stack
-----> Determining which buildpack to use for this app
! Warning: Multiple default buildpacks reported the ability to handle this app. The first buildpack in the list below will be used.
Detected buildpacks: Ruby,Node.js
See https://devcenter.heroku.com/articles/buildpacks#buildpack-detect-order
-----> Ruby app detected
-----> Installing bundler 2.3.10
-----> Removing BUNDLED WITH version in the Gemfile.lock
-----> Compiling Ruby/Rails
Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://heroku-buildpack-ruby.s3.us-east-1.amazonaws.com/heroku-22/ruby-2.6.6.tgz -s -o - | tar zxf - ' failed on attempt 1 of 3.
Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://heroku-buildpack-ruby.s3.us-east-1.amazonaws.com/heroku-22/ruby-2.6.6.tgz -s -o - | tar zxf - ' failed on attempt 2 of 3.
!
! The Ruby version you are trying to install does not exist on this stack.
!
! You are trying to install ruby-2.6.6 on heroku-22.
!
! Ruby ruby-2.6.6 is present on the following stacks:
!
! - heroku-18
! - heroku-20
!
! Heroku recommends you use the latest supported Ruby version listed here:
! https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
!
! For more information on syntax for declaring a Ruby version see:
! https://devcenter.heroku.com/articles/ruby-versions
!
! Push rejected, failed to compile Ruby app.
! Push failed
Hi!
I see you adverise heroku pinger in your readme.
I would suggest removing that. Heroku is free and stays free (and awesome) because of the limits in place. Using a tool like heroku pinger can only result in Heroku setting more constraints.
The Heroku build fails due to the package using ruby-2.6.5.
Log:
-----> Building on the Heroku-20 stack
! Warning: Multiple default buildpacks reported the ability to handle this app. The first buildpack in the list below will be used.
Detected buildpacks: Ruby,Node.js
See https://devcenter.heroku.com/articles/buildpacks#buildpack-detect-order
-----> Ruby app detected
-----> Installing bundler 2.1.4
-----> Removing BUNDLED WITH version in the Gemfile.lock
-----> Compiling Ruby/Rails
Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-20/ruby-2.6.5.tgz -s -o - | tar zxf - ' failed on attempt 1 of 3.
Command: 'set -o pipefail; curl -L --fail --retry 5 --retry-delay 1 --connect-timeout 3 --max-time 30 https://s3-external-1.amazonaws.com/heroku-buildpack-ruby/heroku-20/ruby-2.6.5.tgz -s -o - | tar zxf - ' failed on attempt 2 of 3.
!
! The Ruby version you are trying to install does not exist on this stack.
!
! You are trying to install ruby-2.6.5 on heroku-20.
!
! Ruby ruby-2.6.5 is present on the following stacks:
!
! - cedar-14
! - heroku-16
! - heroku-18
!
! Heroku recommends you use the latest supported Ruby version listed here:
! https://devcenter.heroku.com/articles/ruby-support#supported-runtimes
!
! For more information on syntax for declaring a Ruby version see:
! https://devcenter.heroku.com/articles/ruby-versions
!
! Push rejected, failed to compile Ruby app.
! Push failed
When you run the docker container with rails on production, the app tries to run on SSL, but since there's no way to configure the cert, it makes the app unusable.
I would suggest editing entrypoint.sh so that FORCE_SSL is disabled. Or am I missing something?
Hi, i have this error woth docker-compose
Creating ontrack-db ... done
Creating ontrack ... error
ERROR: for ontrack Cannot start service app: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: "/ontrack/entrypoint.sh": permission denied": unknown
ERROR: for app Cannot start service app: OCI runtime create failed: container_linux.go:346: starting container process caused "exec: "/ontrack/entrypoint.sh": permission denied": unknown
ERROR: Encountered errors while bringing up the project.
The only large thing we are missing in this tool for it to be a hit in our household (forwarding this request from my GF) is if it could carryover over/under budgets.
For example if we under-spent groceries, I want it to reflect that there is a bit more money available from the previous month, while still also showing what the actual budgeted monthly amount goal is.
In the same vein, if we overspent on groceries category, it would show that although our goal is lets say 300, we overspent by 30 the previous month so its somehow reflected.
I struggle to decide how I'd prefer it to display, either right with each goal using some highlighting/extra lines, or maybe a separate tab that would give you insight to whether you are on track for 3m/6m/and 1y once averaged out depending on the category.
Im not good at mock design or I'd show, but I'd be happy to provide any more details that might be helpfu,.
Steps to replicate error:
sudo git clone https://github.com/inoda/ontrack.git
cd ontrack
sudo docker-compose up -d
create user as specified in readme
then go to the webpage and login. Firefox console shows this error:
Uncaught Error: Module build failed (from ./node_modules/babel-loader/lib/index.js):
Error: Cannot find module 'babel-plugin-macros'
Require stack:
/ontrack/babel.config.js
/ontrack/node_modules/@babel/core/lib/config/files/module-types.js
/ontrack/node_modules/@babel/core/lib/config/files/configuration.js
/ontrack/node_modules/@babel/core/lib/config/files/index.js
/ontrack/node_modules/@babel/core/lib/index.js
/ontrack/node_modules/babel-loader/lib/index.js
/ontrack/node_modules/loader-runner/lib/loadLoader.js
/ontrack/node_modules/loader-runner/lib/LoaderRunner.js
/ontrack/node_modules/webpack/lib/NormalModule.js
/ontrack/node_modules/webpack/lib/index.js
/ontrack/node_modules/webpack-cli/lib/webpack-cli.js
/ontrack/node_modules/webpack-cli/lib/bootstrap.js
/ontrack/node_modules/webpack-cli/bin/cli.js
/ontrack/node_modules/webpack/bin/webpack.js
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:902:15)
at Function.Module._load (internal/modules/cjs/loader.js:746:27)
at Module.require (internal/modules/cjs/loader.js:974:19)
at require (internal/modules/cjs/helpers.js:101:18)
at module.exports (/ontrack/babel.config.js:47:7)
at startHiding - secret - don't use this - v1 (/ontrack/node_modules/@babel/core/lib/errors/rewrite-stack-trace.js:59:12)
at readConfigJS (/ontrack/node_modules/@babel/core/lib/config/files/configuration.js:228:66)
at readConfigJS.next ()
at Function. (/ontrack/node_modules/@babel/core/lib/gensync-utils/async.js:27:3)
at Generator.next ()
jsx dashboard.js:9
Webpack 5
I have tried this 2 times and got the same issue both times
Hello ๐
I run a security community that finds and fixes vulnerabilities in OSS. A researcher (@J-GainSec) has found a potential issue, which I would be eager to share with you.
Could you add a SECURITY.md
file with an e-mail address for me to send further details to? GitHub recommends a security policy to ensure issues are responsibly disclosed, and it would help direct researchers in the future.
Looking forward to hearing from you ๐
(cc @huntr-helper)
Ontrack's hardcoded English language is hard to localize and I just created a fork to support other language. It isn't effective at all. Is it possible for ontrack team to support another language via locale file?
Running the latest Docker build (built from cloned repo)
After starting container and signing in, the dashboard appears blank. Nothing I do seems to get the issue sorted....
I would appreciate any help!
Attached below are my logs and a screenshot.
My Logs : ontrack.csv
OS: Ubuntu 22.04
Architecture: x64
ontrack Version: Latest commit on master, currently f7b11a3
Simply running docker-compose up
in the cloned repository directory fails with the following exception:
...
[3/4] Linking dependencies...
[4/4] Building fresh packages...
success Saved lockfile.
Done in 39.19s.
Successfully installed bundler-2.4.9
1 gem installed
Your RubyGems version (3.0.3) has a bug that prevents `required_ruby_version` from working for Bundler. Any scripts that use `gem install bundler` will break as soon as Bundler drops support for your Ruby version. Please upgrade RubyGems to avoid future breakage and silence this warning by running `gem update --system 3.2.3`
Your Ruby version is 2.6.6, but your Gemfile specified 3.1.2
The command '/bin/sh -c apk add --no-cache build-base postgresql-dev yarn && yarn install --non-interactive --check-files && gem install bundler && bundle update' returned a non-zero code: 18
ERROR: Service 'app' failed to build : Build failed
the file https://github.com/inoda/ontrack/blob/master/docs/ubuntu_install.md
can use some updating. Specifically during the step install bundler + dependencies, I am able to execute the step gem install bundler
but bundle install
fails.
user@server:~$ gem install bundler
Successfully installed bundler-2.1.4
Parsing documentation for bundler-2.1.4
Done installing documentation for bundler after 2 seconds
1 gem installed
user@server:~$ bundle install
Could not locate Gemfile
Is there a dockerfile? If not, would you accept a PR?
Can't deploy to github Pages, every time a different error, without heroku I'm kinda of lost, can't just click " deploy to heroku ". Anyone know how to deploy to GH pages?
Hey mate, sent 10 BAT to your profile on here. Only worth about $2 right now but hey ho might be worth more in the future or you could cash it out and get yourself a cheap coffee haha
Need to verify your Github with BAT Creators within 90 days to get it tho or it comes back to my wallet :)
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.