Git Product home page Git Product logo

bloodbowl's Introduction

BSData Project

BattleScribeDataWeb is the web application that serves BattleScribe data files from the various data repositories on GitHub. It is a Java 8 web application designed to run on Google App Engine. It is built and deployed using Maven 3.5.

It consists of an Angular (JavaScript) front end and a RESTful (Jersey / JAX-RS) back end.

This guide is written from the perspective of a Netbeans IDE user running Windows, however you can use any IDE or toolset that supports Maven.

It is assumes that you have some experience with developing on Windows, or can translate the following to your operating system of choice. You should also have some knowledge of software development/programming using Java (or are willing to learn it!).

Contents

Before You Start

  1. Make sure you have a Google account.
  2. Make sure you have a GitHub account and are a member of the BSData organisation (https://github.com/BSData).
  3. Generate a GitHub security token to let the app access GitHub on your behalf.
    • Log in to GitHub and go to Settings -> Developer Settings -> Personal access tokens (https://github.com/settings/tokens).
    • Generate a new token with public_repo and read:org scopes. Take a note of the token.

Download and Install Everything

(Note: On Windows, references to "Google Cloud Shell" below means the "Google Cloud Shell" command line launched from the Start Menu.)

  1. Download and install the Java SE 8 JDK (http://www.oracle.com/technetwork/java/javase/downloads/index.html)
    • You may be able to use the Java 9 SDK - YMMV.
  2. Download and install the GitHub Desktop app (https://desktop.github.com/).
    • Check out the bsdata project. (https://github.com/BSData/bsdata).
    • The root folder you check out into (containing pom.xml) will be referred to as the project folder.
  3. Download and install the Google Cloud SDK (https://cloud.google.com/sdk).
  4. Initialise the Google Cloud SDK (https://cloud.google.com/sdk/docs/quickstarts).
    • You will be presented with a command line after installation, or you can run gcloud init from the Google Cloud Shell.
    • Log in with your Google account.
    • Choose to create a new project (or select a previously created project). This will will be your own App Engine development environment that you can deploy and test on. Make a note of the name.
    • You do not need to configure Compute Engine, it can be skipped.
    • Make sure your App Engine project is alive and well in Google Cloud Console (https://console.cloud.google.com).
  5. Install the Google Cloud Java Components (https://cloud.google.com/sdk/docs/managing-components).
    • From the Google Cloud Shell, run gcloud components install app-engine-java
    • To update the Google Cloud SDK to the latest version, run gcloud components update
  6. Download and install Netbeans Java EE bundle (https://netbeans.org/downloads/).
    • The current version of Netbeans is 8.2, and by default it does not include Maven 3.5. Future versions of Netbeans may change this.
  7. Download and unzip Maven 3.5 (https://maven.apache.org/download.cgi).

Set up the Project in Netbeans

  1. Launch Netbeans
    • Pro tip: If you prefer a dark colour scheme, go to Tools -> Plugins and install "Darcula LAF for Netbeans"
  2. Set Netbeans to use Maven 3.5
    • Go to Tools -> Options, Select the Java section then the Maven tab.
    • Set Maven Home to the directory you unzipped Maven 3.5 into.
  3. Open the BattleScribeData project you checked out from GitHub.
  4. Create a file in the project directory called maven.properties
    • This file should not be checked in to GitHub (it's excluded via .gitignore). It contains Maven settings specific to individual developers.
    • Add the following line:
      appengine.dev.project.name=YOUR_APP_ENGINE_DEV_PROJECT_NAME
      
      (Use your App Engine development project name created when setting up the Cloud SDK above).
  5. Create a file in the <project directory>/src/main/resources/common/java/ directory called github-user.properties.
    • This file should not be checked in to GitHub (it's excluded via .gitignore). It contains GitHub authentication settings that should not be public. If your GitHub authentication token is checked in to GitHub, it will be invalidated and you will need to generate a new one.
    • Add the following lines:
      ## GitHub User ##
      github.anon.username=GITHUB_USER_NAME
      github.anon.token=GITHUB_AUTHENTICATION_TOKEN
      [email protected]
      
      (Use your own GitHub username and token).
  6. Build the project
    • Select the local Maven profile from the "Project Configuration" dropdown at the top.
    • Right-click the project and select "Clean and Build".
    • Wait for Maven to download required dependencies (jar libraries) and build the project.
  7. Run the project locally (appengine:run Maven goal).
    • Select the local Maven profile.
    • Right-click the project -> Run Maven -> appengine:run.
    • Go to http://localhost:8080 to see the app.
    • (The local server is provided as part of the Cloud SDK)
  8. Debug the project locally (appengine:run Maven goal).
    • Select the local-debug Maven profile.
    • Right-click the project -> Run Maven -> appengine:run.
    • The local server will wait listening on port 5005 for the debugger to attach.
    • Go to Debug -> Attach debugger: Connector SocketAttach, Transport dt_socket, Host localhost, Port 5005.
    • Go to http://localhost:8080 to see the app.
  9. Deploy the project to your App Engine development environment (appengine:deploy Maven goal).

A Quick Tour

  • pom.xml in the project directory contains Maven configuration.
    • General app properties, such as name, version, Java version etc.
    • Build profiles which determine app configuration for specific environments.
      • local for running on the local server
      • local-debug for debugging on the local server
      • dev for deploying on your App Engine development environment
      • test and prod are for the main BSData test and live App Engine environments. You will not be able to use these unless authorised.
    • Dependencies - the specific versions of libraries required by the app.
      • Maven will handle downloading and providing the libraries when building and deploying the app.
  • /src/main/resources/ folder contains configuration files for each Maven profile, plus common properties files used by all profiles.
    • .../java/ files are general config used by the java app and are copied into the WEB-INF/classes/ folder upon build/deploy.
    • .../webapp/ files are used to configure the application server and are copied into the WEB-INF folder upon build/deploy.
  • /src/main/webapp/ folder contains the web front end
    • HTML and CSS
    • .../app/ folder contains the Angular Javascript app
  • /src/main/java/ folder contains the back end Java app.
    • rest package contains RESTful web services (https://jersey.github.io/documentation/2.26/jaxrs-resources.html).
      • BattleScribeDataRestConfig.java configures the app and performs startup tasks.
    • viewmodel package contains model classes that are used to pass data between the web services and the Angular front end.
      • These objects are converted to/from JSON to be sent/recieved in web requests/responses.
      • These objects are used by the BattleScribe app and should not be changed without proper planning. Changes could cause problems with BattleScribe reading repository information.
    • model package contains model classes for BattleScribe XML data files and indexes (http://simple.sourceforge.net/download/stream/doc/tutorial/tutorial.php).
    • dao package contains "Data Access Object" classes used used to read/write to data sources.
      • GitHubDao.java is used for communicating with GitHub.
    • repository package contains classes for creating BattleScribe repository indexes (.bsi) files.

bloodbowl's People

Contributors

amis92 avatar bsdata-bot avatar drtobogganmd avatar jonskichov avatar shaner11 avatar xerusjoe avatar zappline avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  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

bloodbowl's Issues

[Anon] Bug report: Blood Bowl.gstz

File: Blood Bowl.gstz

BattleScribe version: 2.01.06

Platform: Android

Dropbox: Yes

Description: Using QuickView on a roaster show rules and profiles inline or in summary, as settings. But if i start editing roaster and i view roaster into edit menu, it doesn't show profiles, regardless of setting. the same problem apply on PC.

Join Request

Looking to have commit rights to make improvements to the game system.

[Anon] Bug report: Blood Bowl.gstz

File: Blood Bowl.gstz

BattleScribe version: 2.03.25

Platform: Android

Dropbox: No

Description: The Dwarf Blockers on the Old World Alliance have the selection rules of a regular dwarf blocker (block, tackle) instead of Arm Bar and Brawler

[Join Request]

I'd like to join in order to assist another person in updating the Blood Bowl files to be in line with the 2016 version of the game. The last updates to the files were in 2014 via the Living Rulebook, which a number of things have changed.

Player Count if MNG

Having a player with the "Miss Next Game" injury checked still count in total TV.
A MNG player does not count in the total cost of the team for the game where he miss.

Tryed on a Chaos Chosen Rookie Beastman.

[Anon] Bug report: Blood Bowl.gstz

File: Blood Bowl.gstz

BattleScribe version: 2.03.25

Platform: Android

Dropbox: No

Description: The Minotaurs in Chaos Chosen and Renegades teams have Animal Savagery listed in their selection rules, instead of Unchanneled Fury which they're supposed to have.

[Anon] Bug report: Wood Elves - BB16.catz

File: Wood Elves - BB16.catz

BattleScribe version: 2.01.21

Platform: Android

Dropbox: No

Description: When choosing a strength skill in a treeman, when you open the menu to select the skill, passing skills appear instead of strength skills

[Anon] Bug report: Necromantic Horror.catz

File: Necromantic Horror.catz

BattleScribe version: 2.03.15

Platform: iPhone / iPod / iPad

Dropbox: No

Description: In necromantic horrors, flesh golem should have A as sondary skills and not S.

[Anon] Bug report: Orcs - BB16.catz

File: Orcs - BB16.catz

BattleScribe version: 2.03.25

Platform: Android

Dropbox: No

Description: I get a notifaction egen i apply cas or MVPspp on my black orcs that says i have too many selections of black orc blockers even IF i only have the 4 allowed.

[Anon] Bug report: Dark Elves.catz

File: Dark Elves.catz

BattleScribe version: 2.03.25

Platform: Android

Dropbox: No

Description: All Dark Elf advancements lost in update - now have option to add again but previous builds lost

Bug Report: Team Value

Hi. The money left in the treasury should not be added to the team value.

Only bug I've found, great job!

[Anon] Bug report: Humans - BB.catz

File: Humans - BB.catz

BattleScribe version: 2.00.34

Platform: Android

Dropbox: Yes

Description: The Catchers are listed as 70000 however in the book and bloodbowl app they are listed as 60000.

[Anon] Bug report: Nurgle.catz

File: Nurgle.catz

BattleScribe version: 2.03.15

Platform: iPhone / iPod / iPad

Dropbox: No

Description: The rotter only cost 35k, not 40k. At least it’s in the rules, don’t know if there is a faq which states other point costs

[Anon] Bug report: Blood Bowl.gstz

File: Blood Bowl.gstz

BattleScribe version: 2.03.22

Platform: Android

Dropbox: No

Description: Cant update skills on players.
After creating roster and adding players, one can't add skills to those players.

[Join Request]

Duplicate of #32 as I am not yet a collaborator so I cannot reopen. I am still interested and have gotten a good amount of work done. Been busy lately so had to pause for a bit but hoping to finish things up soon.

[Anon] Bug report: Blood Bowl.gstz

File: Blood Bowl.gstz

BattleScribe version: 2.03.25

Platform: Android

Dropbox: No

Description: Team value does not increase, when you advance a player.

[Join Request]

Hi. I have updated the LRB6 with the latest ruleset from GW I hope I could join you so I can upload it so everyone can enjoy it :D

[Anon] Bug report: Blood Bowl.gstz

File: Blood Bowl.gstz

BattleScribe version: 2.03.02

Platform: iPhone / iPod / iPad

Dropbox: No

Description: On the gold selection. when you in put an amount of gold. It doesn’t show are 10,000 incriminates to be added to the team values. As a way to track the team having a kitty or budget of unspent money.

[Anon] Bug report: Blood Bowl.gstz

File: Blood Bowl.gstz

BattleScribe version: 2.03.25

Platform: Android

Dropbox: No

Description: TV of players not increasing when picking an advancement.

[Anon] Bug report: Dark Elves - BB16.catz

File: Dark Elves - BB16.catz

BattleScribe version: 2.03.15

Platform: iPhone / iPod / iPad

Dropbox: Yes

Description: Skill rules text for Dark Elf players don't show up. It seems to work for all other teams I've tried.

[Anon] Bug report: Skaven.catz

File: Skaven.catz

BattleScribe version: 2.03.15

Platform: iPhone / iPod / iPad

Dropbox: No

Description: I am unable to see an option to add Kreek Rustouger (verminator) to the skaven blood bowl team. My blood bowl version is V35 and the skaven are on v23.

[Anon] Bug report: Blood Bowl.gstz

File: Blood Bowl.gstz

BattleScribe version: 2.03.25

Platform: Android

Dropbox: No

Description: Found some points and misc issues.

Blitzers on a human team are wrongly costed, according to the core rules book, they should be 85 instead of 95.

In the Ogres team the Ogre Runt Punter should be 145 instead of 150.

In the Chaos Renegades team, team validation complains about having more than one big guys, even though the team is allowed to have three max. (Just in case the error only pops up with certain big guy combos, I had Rogre, Mino and Troll)

Also, all, or at least almost all (checked only like half the teams) do not have the option to include assistant coaches in their sideline staff even though everyone should be able to.

While not a bug as such, the head coach of the ogres team was listed in the uncategorised section, instead of within the team management section unlike in every other official team's dataset.

Similarly to the point above, the Chaos Dwarves had their Chosen of... choice in the uncategorised section while the Chosen and Renegades teams had theirs in team management. I'm all for consistency and I'd like to see them brought in line with their chaos brethren.

[Anon] Bug report: Wood Elves.catz

File: Wood Elves.catz

BattleScribe version: 2.03.25

Platform: Android

Dropbox: No

Description: 1. When entering dedicated fans, it has a cost of 10k per fan and count as tv points but it should not.

Morg'n'Torg wrong cost in snotlings

Morg'n'Torg wrong cost 340k in snotlings, it has to cost 390k

To Reproduce
add Morg as inducements

Expected behavior
Morg costs 390k

Device and data (please complete the following information):

  • OS: android 11
  • BattleScribe version 2.03.25.338
  • Release version 3.3.1

[Anon] Bug report: Wood Elves.catz

File: Wood Elves.catz

BattleScribe version: 2.03.25

Platform: Android

Dropbox: No

Description: When entering à game win for à player as son as value is > 0 it is displayed as à season places and no more as game won.

No Mercenaries Inducement

In the inducement tab there is no mercenary option, Blood Bowl repository on 1.1.8.5. How can i keep track of them?

[Anon] Bug report: Nurgle - BB16.catz

File: Nurgle - BB16.catz

BattleScribe version: 2.01.16

Platform: Android

Dropbox: Yes

Description: Hi, battleScribers

I just been building my nurgle team & i have notice there is no mutation skills option under skill section for them, this is one of the main benfits of using a nurgle team. I can edit other skills name in the mean time to represent them but that is extra messing around, time consuming & could get confusing. Im guessing other teams that can have mutations are the same but i haven't checked them. It something small but it would be very handy if this could be up dated to have them as an option. I can't see any other issues with this team rosta. I hope this makes sense, if you need/want any more info or feedback please do email me [email protected]

Many thanks
Rich

Player Team Value does not include upgrades

Describe the bug
In league play, tge current team value of players shoulf go up based on the selected upgrades. Currently SPP spend is tracked, but TV impacy is not.

To Reproduce
Steps to reproduce the behavior:

  1. give SPP to player
  2. spend SPP on improvements
  3. check impact on (C)TV

Expected behavior
(C)TV should go up in accordance with table on page 72 of the rule book.

[Anon] Bug report: Blood Bowl.gstz

I get this error when launching the app:
Errors occurred updating data files from repositories
> http://battlescribedata.appspot.com/repos/bloodbowl/index.bsi: Error updating from repository http://battlescribedata.appspot.com/repos/bloodbowl/index.bsi: BattleScribe failed to download and import one or more data files from the repository.
> model.dataindex.DataIndexEntry@3cc262: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Blood%20Bowl.gstz
> model.dataindex.DataIndexEntry@fdb00d: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/High%20Elves%20-%20BB.catz
> model.dataindex.DataIndexEntry@131303f: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Vampires%20-%20BB.catz
> model.dataindex.DataIndexEntry@56860b: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Amazons%20-%20BB.catz
> model.dataindex.DataIndexEntry@7a5a19: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Goblins%20-%20BB.catz
> model.dataindex.DataIndexEntry@b122a1: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Orcs%20-%20BB.catz
> model.dataindex.DataIndexEntry@1589e56: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Nurgles%20-%20BB.catz
> model.dataindex.DataIndexEntry@1033a6f: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Slann%20-%20BB.catz
> model.dataindex.DataIndexEntry@f18e8e: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Ogres%20-%20BB.catz
> model.dataindex.DataIndexEntry@c623af: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Dark%20Elves%20-%20BB.catz
> model.dataindex.DataIndexEntry@50ca0c: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Undead%20-%20BB.catz
> model.dataindex.DataIndexEntry@e753: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Underworld%20-%20BB.catz
> model.dataindex.DataIndexEntry@15311bd: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Skaven%20-%20BB.catz
> model.dataindex.DataIndexEntry@b1aebf: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Humans%20-%20BB.catz
> model.dataindex.DataIndexEntry@1478a43: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Halflings%20-%20BB.catz
> model.dataindex.DataIndexEntry@1c65216: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Chaos%20-%20BB.catz
> model.dataindex.DataIndexEntry@1372656: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Necromantic%20-%20BB.catz
> model.dataindex.DataIndexEntry@1b6101e: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Khemri%20-%20BB.catz
> model.dataindex.DataIndexEntry@1dc423f: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Elves%20-%20BB.catz
> model.dataindex.DataIndexEntry@1815bfb: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Chaos%20Dwarves%20-%20BB.catz
> model.dataindex.DataIndexEntry@1bdc9d8: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Wood%20Elves%20-%20BB.catz
> model.dataindex.DataIndexEntry@10ea9ba: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Lizardmen%20-%20BB.catz
> model.dataindex.DataIndexEntry@1a918d5: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Chaos%20Pacts%20-%20BB.catz
> model.dataindex.DataIndexEntry@9d6065: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Dwarves%20-%20BB.catz
> model.dataindex.DataIndexEntry@238a47: http://battlescribedata.appspot.com/repos/bloodbowl/Amazons%20-%20BB.catz/repos/bloodbowl/Norse%20-%20BB.catz
at gui.common.UpdateDataFilesDialog$1.a(Unknown Source)
at gui.common.UpdateDataFilesDialog$1.doInBackground(Unknown Source)
at javax.swing.SwingWorker$1.call(SwingWorker.java:277)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at javax.swing.SwingWorker.run(SwingWorker.java:316)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)

[Anon] Bug report: Orcs - BB.catz

File: Orcs - BB.catz

BattleScribe version: 2.00.15

Platform: Android

Dropbox: No

Description: Hi. Missed stats and skills player. Please can add its?

[Anon] Bug report: Bretonnian - BB16.catz

File: Bretonnian - BB16.catz

BattleScribe version: 2.01.22

Platform: Android

Dropbox: No

Description: V6 bretonia: Team Goods (misc) are for free. Cost is missing

[Anon] Bug report: Humans - BB.catz

File: Humans - BB.catz

BattleScribe version: 2.00.13

Platform: Android

Dropbox: No

Description: Human catchers are now 60,000 gold. In fact there are other updates needed since blood bowl 2016 released along with the errata.

Exhibition rules?

Is there a way we can add the exhibition rules, so SPP doesn't add to team value? I think there are a couple other changes as well.

[Anon] Bug report: Underworld Denizens - BB16.catz

File: Underworld Denizens - BB16.catz

BattleScribe version: 2.01.19

Platform: iPhone / iPod / iPad

Dropbox: No

Description: Glart Smashrip Star Player (cost 190,000 - I.e. not Glart Smashrip Jnr) is listed as Move 4 and Strength 5. It should be Move 5 and Strength 4.

[Join Request]

Currently working on updating files to work with Season 2. Would like write access so I can push my work for others to QA when ready.

Spelling Mistake

Force: Chaos Chosen

Favoured of 'Chaos Undevided' should be 'Chaos Undivided'

[Anon] Bug report: Norse.catz

File: Norse.catz

BattleScribe version: 2.03.25

Platform: Android

Dropbox: No

Description: The primary upgrades for the Valkyrie in the Norse Blood Bowl team is incorrect. When 'voewed' it is corect as AGP, but when attempting to pick a chosen primary skill as the first advamcement the skills available are GPS. Therefore, strength skills should be taken out of the options available and replaced with agility skills.

[Anon] Bug report: Orcs.catz

File: Orcs.catz

BattleScribe version: 2.03.25

Platform: Android

Dropbox: No

Description: The primary skills added do not add to the players value of the team value.

[Anon] Bug report: Blood Bowl.gstz

File: Blood Bowl.gstz

BattleScribe version: 2.03.25

Platform: Android

Dropbox: No

Description: Scyla is missing as a star player from the khorne team- add scyla's profile

Repository Enhancements

Hi @xerusjoe - I notice you're the lone maintainer of BB16 here. I'm visiting from the 40k repo and would like to offer services in perhaps giving enhancements. Would you be objectable to a PR that re-arranges things like the abilities into the GST for easier management, detailing of what abilities do, and then adding modifiers for stat adjustments?

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.