Git Product home page Git Product logo

necromunda-gang-war'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.

necromunda-gang-war's People

Contributors

amis92 avatar cjo197 avatar mayegelt avatar oftkilted avatar pinecones avatar windstormscr avatar

Stargazers

 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

necromunda-gang-war's Issues

[Anon] Bug report: Chaos Cult.catz

File: Chaos Cult.catz

BattleScribe version: 2.01.19

Platform: iPhone / iPod / iPad

Dropbox: No

Description: Cults have access to reclaimed autogun and long rifle on helot both weapons from cawdor list
Both from

[Anon] Bug report: Goliath.catz

File: Goliath.catz

BattleScribe version: 2.01.15

Platform: Windows

Dropbox: No

Description: The latest version of the Goliath list has no option for selecting Juves.

[Join Request]

I have the newest compilation books and have been updating profiles and skills to match that version. I would also eventually like to create a Delaque file but I am starting with fixing up the current main file to have the latest rules.

[Join Request]

Howdy, I'd like to throw my hat into the ring and join this repository.

[Anon] Bug report: Van Saar.catz

File: Van Saar.catz

BattleScribe version: 2.01.24

Platform: Android

Dropbox: No

Description: Hi,

Thanks for getting Van Saar in the game! Some corrections from Gangs of the Underhive

Shock stave is 5 credits, should be 25

Also there is some missing personal equipment. The full list should be

Bio-booster 35
Drop rig 10
Filter plugs 10
Grab chute 40
Infra-sight 40
Las-projector 35
Mono-sight 35
Photo-goggles 35
Respirator 15
Suspensors 60
Telescopic sight 25

[Anon] Bug report: Goliath.catz

File: Goliath.catz

BattleScribe version: 2.01.18

Platform: Android

Dropbox: No

Description: Goliath champon has a BS 3+, but his BS is a 4+, and

Request: Delaque Gang

Now that the two compilation books are out, i think now is a good time as any to get the House Delaque Gang all completed

[Anon] Bug report: Chaos Cult.catz

File: Chaos Cult.catz

BattleScribe version: 2.01.21

Platform: Android

Dropbox: No

Description: There is no option to give any cult member armour of any kind. And no way of buying better armour at the trading post for any gang. The default armours seem to be exceptions e.g. flak armour on Escher's, armoured undersuits on Van Saar etc.

[Join Request]

Repo has had no activity since initial upload a month ago. Instead of getting frustrated waiting for one person to finish it thought I'd contribute. Have experience with git as I'm a software developer.

[Anon] Bug report: Necromunda-Gang-War.gstz

File: Necromunda-Gang-War.gstz

BattleScribe version: 2.01.15

Platform: Windows

Dropbox: No

Description: Is there any chance you could create a different category for gang leaders so that they appear at the top of your gang list instead of at the bottom?
Having the list run Champion, Ganger, Juve, Leader can be a little bit disorientating.
Thanks.

[Anon] Bug report: Escher.catz

File: Escher.catz

BattleScribe version: 2.01.09

Platform: Mac

Dropbox: No

Description: House Escher Juve, Autopistol listed at 1 point instead of 10

Fighting Knife cost

Fighting knives are listed as 30cr but they are only 15cr in gangs of the underhive

[Anon] Bug report: Goliath.catz

File: Goliath.catz

BattleScribe version: 2.01.21

Platform: iPhone / iPod / iPad

Dropbox: No

Description: There are a number of points values that are incorrect for Goliath gang in this update, the release of Gangs of the under hive has these changes

[Anon] Bug report: Orlock.catz

File: Orlock.catz

BattleScribe version: 2.01.17

Platform: iPhone / iPod / iPad

Dropbox: No

Description: The Orlocks could use an update, especially in regards to the new weapons list they got in Gang War 3

[Anon] Bug report: Orlock.catz

File: Orlock.catz

BattleScribe version: 2.01.17

Platform: iPhone / iPod / iPad

Dropbox: No

Description: The Orlock’s combat shotgun is 60 pts when it should be 55 pts

[Join Request]

I would like to join and be able to work on this repository, as it has frustrated me to no end that it has not been updated in a very long time

[Anon] Bug report: Goliath.catz

File: Goliath.catz

BattleScribe version: 2.01.09

Platform: Windows

Dropbox: Yes

Description: Not all the skills are showing, the following are missing.
Agility - Spring up, Sprint
Combat - Parry, Step Aside, Rain of Blows
Cunning - Overwatch
Ferocity - Nerves of Steel, True Grit, Unstoppable
Leadership - Overseer, Regroup
Shooting - Precision Shot, Trick Shot
Savant - Munitioneer, Savvy Trader

[Anon] Bug report: Chaos Cult.catz

File: Chaos Cult.catz

BattleScribe version: 2.01.14

Platform: Windows

Dropbox: No

Description: Firstly thanks for creating this file to begin with! I just wanted to ask 2 questions.
In the cultist list, there is no flak armour option, or in fact any armour options under wargear?
Secondly, where do you store Reputation points?

Thanks
Sheady

[Anon] Bug report: Cawdor.catz

File: Cawdor.catz

BattleScribe version: 2.02.04

Platform: Android

Dropbox: No

Description: Weapon traits "pulverize" description is missing.
Missing Heavy Crossbow stats.

[Anon] Bug report: Necromunda-Gang-War.gstz

File: Necromunda-Gang-War.gstz

BattleScribe version: 2.01.22

Platform: Android

Dropbox: No

Description: There is no selection for House Delaque or Venator Gangs in Necromunda files.
No update seems to have been done since August of last year.

Request: House Cawdor Gang

File: Necromunda-Gang-War.gstz

BattleScribe version: 2.01.19

Platform: iPhone / iPod / iPad

Dropbox: No

Description: Are House Cawdor and the Venator Gangs going to be added soon? Also, there’s the Genestealer Cult Gang updates...

[Anon] Bug report: Necromunda-Gang-War.gstz

File: Necromunda-Gang-War.gstz

BattleScribe version: 2.01.19

Platform: iPhone / iPod / iPad

Dropbox: No

Description: With the new Gangs of the underhive Book, the Delaque Gangs are finally in. When will they be added to the repository??

Heavy Crossbow Profile issue Bug report: Cawdor.catz

File: Cawdor.catz

BattleScribe version: 2.01.21

Platform: Android

Dropbox: No

Description: I chose a Heavy Crossbow, by choosing the up arrow & selecting 1(which I don't understand since it takes 2 slots so logically you can have only 1 crossbow per model). When I hit the eye symbol the model is shown as having a crossbow taking up 2 weopon slots, but the weopon stats are not shown. Other weopons show their stats. I have tried adding the weopon to the leader & to a Champion with the same result. I hope this is detailed enough.

[Anon] Bug report: Goliath.catz

File: Goliath.catz

BattleScribe version: 2.01.19

Platform: Android

Dropbox: No

Description: Heavy Bolter is missing from gang list heavy weapons choices.

[Anon] Bug report: Necromunda-Gang-War.gstz

File: Necromunda-Gang-War.gstz

BattleScribe version: 2.01.19

Platform: iPhone / iPod / iPad

Dropbox: Yes

Description: Really need Delaque adding to The Gang Lists. I would do it myself but I’m not sure how...

[Anon] Bug report: Genestealer Cult.catz

File: Genestealer Cult.catz

BattleScribe version: 2.01.21

Platform: Android

Dropbox: No

Description: Prices for extra arms don't seem to match new PDF for acolytes and neophytes.
Should be 45 credits extra instead of "No Cost"

[Anon] Bug report: Goliath.catz

File: Goliath.catz

BattleScribe version: 2.01.17

Platform: iPhone / iPod / iPad

Dropbox: No

Description: The Goliaths have the maul in their expanded weapons list, yet it is not there.

Bug: File Problems when both Underhive and Gang War game files are downloaded

File: Goliath.catz

BattleScribe version: 2.01.15

Platform: Windows

Dropbox: No

Description: In the V 1.4.0 of Gang War, there are options missing from the rosters of Escher and Goliath, the ones I saw are no Juves and only the basic equipment from the Rulebook. Did I do something wrong? I downloaded the Underhive 1.0.0 and gang war 1.4.0, do I need to download any more data files?

The Gang war file was downloaded by the data manager of the app.

[Anon] Bug report: Escher.catz

File: Escher.catz

BattleScribe version: 2.03.10

Platform: Android

Dropbox: No

Description: escher shotgun acid rounds- long range is 8"instead of 16

[Anon] Bug report: Escher.catz

File: Escher.catz

BattleScribe version: 2.01.14

Platform: iPhone / iPod / iPad

Dropbox: No

Description: The points values for both Autopistols for Juves is incorrect. It’s 1 point and it should be 10

[Join Request]

I wanted to fix the battlescribe data, and update it to its latest rules.

[Anon] Bug report: Necromunda-Gang-War.gstz

File: Necromunda-Gang-War.gstz

BattleScribe version: 2.01.21

Platform: Android

Dropbox: No

Description: Would be really great if you guys add house Delaque..maybe after the holidays..
Have a happy new year.

[Anon] Bug report: Genestealer Cult.catz

File: Genestealer Cult.catz

BattleScribe version: 2.01.21

Platform: Android

Dropbox: No

Description: For all fighters in Genestealer Cult the "Hand Flamer" is 60pts but should be 50pts.

No van saar

Last open ticket on this was closed, but the catalog still isn't in the app

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.