Coder Social home page Coder Social logo

boltaction'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.

boltaction's People

Contributors

amis92 avatar bsdata-bot avatar bsdataanon avatar enricob15 avatar jonskichov avatar mad-spy avatar toreador13 avatar triarius94 avatar

Stargazers

 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

boltaction's Issues

[Anon] Bug report: BA - Armies of Germany.catz

File: BA - Armies of Germany.catz

BattleScribe version: 2.01.08

Platform: Android

Dropbox: No

Description: Can we add the Maus to the armies of Germany?

PANZER VIII ‘Maus’ (Prototype Version 2)

Principal Service 1945 (Conjectural)

Cost: 570 pts Regular; 684 pts Veteran
Weapons: 1 Turret Mounted super-heavy anti-tank gun with co-axial light howitzer and co-axial MMG
Damage Value: 11+ (Super-heavy tank)
Special Rules:
• Slow
• Tiger Fear
• Unreliable: If the Maus suffers one or more pin markers as a result of an enemy attack it automatically suffers one additional pin marker.
• 128mm KwK 44: This gun was almost as effective at long ranges as at short range – so does not suffer the -1 penetration penalty when shooting at targets over half range. It counts a full +7 penetration bonus at all ranges.
• ‘Mobile Fortress’. To fulfil its role as a breakthrough tank the Maus had extremely heavy armour. There is no penetration modifier for hitting a Maus from the side and the penetration modifier for hitting a Maus in its rear arc is reduced to +1.
• Co Axial Main Gun: Although the Co-axially mounted 75mm KWK44 L36 would in any other tank be a respectable anti-tank gun, it was fitted on the Maus to provide dedicated HE fire. For the purposes of these rules it is classed as a Light Howitzer.
When firing the turret mounted weapons you may fire only one. You have the choice of the super heavy anti-tank gun, the light howitzer or the MMG.

[Anon] Bug report: BA - Armies of Germany.catz

File: BA - Armies of Germany.catz

BattleScribe version: 2.01.08

Platform: iPhone / iPod / iPad

Dropbox: No

Description: The fallschirmjager entry does not include the stubborn rule, which it should, and the fallschirmjager should cost 1 point more.

[Anon] Bug report: Bolt Action generic Reinforced Platoon.gstz

File: Bolt Action generic Reinforced Platoon.gstz

BattleScribe version: 1.15.00

Platform: iPhone / iPod / iPad

Dropbox: No

Description: Whilst using the German platoon selector if I try to select a tank on the tanks section the app will crash when scrolling down through the selection of tanks.

[Anon] Bug report: BA - Partisans.catz

File: BA - Partisans.catz

BattleScribe version: 1.15.07

Platform: Windows

Dropbox: No

Description: The Cavalry squad hasn't got an option to include SMG for NCO, hence when adding it to the pool, the list becomes invalid.
Inexperienced Partisan squad point cost reductions don't work properly, when purchasing Shotguns or Pistols for the squad.

[Anon] Bug report: BA - Armies of the United States.catz

File: BA - Armies of the United States.catz

BattleScribe version: 1.15.04

Platform: Windows

Dropbox: No

Description: When I go to US Marines either early or mid/late war:

The options for shotgun I thought was 3. I am only able to give 2.

[Anon] Bug report: BA - Armies of Germany.catz

File: BA - Armies of Germany.catz

BattleScribe version: 2.01.03

Platform: iPhone / iPod / iPad

Dropbox: No

Description: Item LMG is 30 points, should be 20
Bolt action V2 /german army V2/ grenadier

[Anon] Bug report: BA - Armies of Great Britain.catz

File: BA - Armies of Great Britain.catz

BattleScribe version: 1.15.06

Platform: Windows

Dropbox: No

Description: Any additional men with the Free Artillery Forward Observers should be counted at +10 points per man. At the moment they are counted as free.

armoured platoon

doesn't allow for the extra tank/armoured car after compulsory

[Anon] Bug report: BA-AotUS - 1944 - Normandy.catz

File: BA-AotUS - 1944 - Normandy.catz

BattleScribe version: 1.15.05

Platform: Windows

Dropbox: No

Description: I have noticed theis discrepancy in options available to the units, I have included where it is written
Light and Medium Artillery may take a gun shield at +5 pts - errata

[Anon] Bug report: BA-AoG-generic German Reinforced Platoon.catz

File: BA-AoG-generic German Reinforced Platoon.catz

BattleScribe version: 1.15.00

Platform: iPhone / iPod / iPad

Dropbox: Yes

Description: When scrolling down the German Tank section Battlescribe crashes, already re-installed and re-downloaded the data files, still crashes every time, just past the Stuka-Zu-Fuss in the list

[Anon] Bug report: BA - Armies of Germany.catz

File: BA - Armies of Germany.catz

BattleScribe version: 1.15.04

Platform: iPhone / iPod / iPad

Dropbox: Yes

Description: Waffen SS Squad (Early War) LMG amount seems to be wrong as well as cost.

[Anon] Bug report: BA - Armies of the United States.catz

File: BA - Armies of the United States.catz

BattleScribe version: 1.15.07

Platform: Android

Dropbox: No

Description: Anti-tanks for american forces send a warning that I need 12 of them (1 per soldier), but the app doesnt go beyond 10.

[Anon] Bug report: BA - Finland.catz

File: BA - Finland.catz

BattleScribe version: 1.15.07

Platform: Android

Dropbox: No

Description: The Sissi Recon Squad LMG should cost 34 points not 33 since each member costs 14 points instead of 13.

[Anon] Bug report: BA - Armies of the Soviet Union.catz

File: BA - Armies of the Soviet Union.catz

BattleScribe version: 1.15.04

Platform: Android

Dropbox: No

Description: Soviet assault engineers with rifles can't be upgraded with submachine guns or can't be reduced below 4 men to be replaced by those with submachine guns. The nco doesn't have a points value for smg upgrade

[Anon] Bug report: BA - Armies of Finland.catz

File: BA - Armies of Finland.catz

BattleScribe version: 1.15.04

Platform: iPhone / iPod / iPad

Dropbox: Yes

Description: finnish snipers cost to be wrong on mine, book cost is 55 reg 72 vet BS says 50/65.

[Anon] Bug report: Bolt Action generic Reinforced Platoon.gstz

File: Bolt Action generic Reinforced Platoon.gstz

BattleScribe version: 2.00.32

Platform: Android

Dropbox: No

Description: No options for a horse tow for all armies. Should be inext 8pts reg 10 vet 12. Tow should be anything special rules slow while towing 3+ soft skin

[Anon] Bug report: BA - Armies of Germany.catz

File: BA - Armies of Germany.catz

BattleScribe version: 1.15.04

Platform: iPhone / iPod / iPad

Dropbox: No

Description: Many of the points for infantry selections are broken, in that they don't allow for proper squad builds.. For example, a kriegsmarine unit which should default to 5 men starts at 3, or a heer infantry unit has a lmg listed as 50 points, and adds a man, instead of allowing for one of the existing men to take the lmg at the correct 20 points. This wouldn't be an issue, but the heer (and also the SS unit, and I assume others) don't allow you to subtract existing riflemen to compensate. The SS for instance can take a squad of all assault rifles, but since you can't remove the riflemen, the points don't work. I hope this makes sense, hope these issues can be resolved as I love using battlescribe, and now that I bought it would like to continue using it. Thanks for your attention!

[Anon] Bug report: Bolt Action generic Reinforced Platoon.gstz

File: Bolt Action generic Reinforced Platoon.gstz

BattleScribe version: 2.01.07

Platform: iPhone / iPod / iPad

Dropbox: No

Description: The Bolt Action data needs updating to Bolt Action second edition. Also, the points for the British Army light howitzer is 5 points short and there is no option to add a spotter which there should be.

[Anon] Bug report: BA - Armies of Germany.catz

File: BA - Armies of Germany.catz

BattleScribe version: 2.00.32

Platform: Android

Dropbox: No

Description: Has not been updated for armies of Germany v2 yet. Fj are now 14 points a model. Flamepanzer wagen points are wrong etc.

[Anon] Bug report: BA - Armies of Germany.catz

File: BA - Armies of Germany.catz

BattleScribe version: 2.00.32

Platform: Android

Dropbox: No

Description: Needs updating to V2 book with points changes. FJ, Mountain Troops, Weapons etc.

[Anon] Bug report: Bolt Action generic Reinforced Platoon.gstz

File: Bolt Action generic Reinforced Platoon.gstz

BattleScribe version: 2.01.08

Platform: iPhone / iPod / iPad

Dropbox: No

Description: LMGs and MMGs need to be given 1 more shot each so LMGs should now have 4 shots and MMGs should have 5. The LMGs range needs to be increased to 36” and the assault rifle range needs to be reduced to 18”.

[Anon] Bug report: BA-AotUS - 1944 - Normandy.catz

File: BA-AotUS - 1944 - Normandy.catz

BattleScribe version: 1.15.05

Platform: Windows

Dropbox: No

Description: I have noticed this discrepancy in options available to the units, I have included where it is written
Dodge 3/4 Ton truck may upgrade MMG to HMG +10 pts - errata

[Anon] Bug report: Bolt Action generic Reinforced Platoon.gstz

File: Bolt Action generic Reinforced Platoon.gstz

BattleScribe version: 2.01.06

Platform: Android

Dropbox: No

Description: At the german army the Flak 88 AA/AT gun are the Pointe are incorect but the 2nd edition the Flak 88 cost 160 points in regular.

Best regards

[Anon] Bug report: BA - Armies of the United States.catz

File: BA - Armies of the United States.catz

BattleScribe version: 1.15.07

Platform: Windows

Dropbox: Yes

Description: My US Army roster contains 2 generic reinforced platoons. Each of them has a Platoon Commander and a M4A1 Sherman (among other things). But those two give me validation errors which say only one of each is allowed per ROSTER. Shouldn't that be per PLATOON?

BattleScribe 2.0

Hi guys.

BattleScribe 2.0 is coming and it contains some major changes to Data Editor and the data format.

While it should happily upgrade 1.15.x format data files to the new format, you never know what sneaky bugs might be lurking...

It would help a lot if you could run your data through it and make sure nothing gets broken so we have no nasty surprises on release day (whenever that might be...).

Alpha Downloads:
Desktop: https://github.com/BattleScribe/Desktop-Alphas/issues/1
Android: https://github.com/BattleScribe/Android-Alphas/issues/1
iOS: https://github.com/BattleScribe/iOS-Alphas/issues/1

If you find any issues, please do let me know: https://github.com/BattleScribe/Desktop-Alphas/issues

[Anon] Bug report: BA - Armies of Great Britain.catz

File: BA - Armies of Great Britain.catz

BattleScribe version: 2.01.08

Platform: iPhone / iPod / iPad

Dropbox: No

Description: The British light artillery should cost 5 points more, should have the option for a spotter and have AT rounds to enable it to fire as a light AT gun.

[Anon] Bug report: Bolt Action generic Reinforced Platoon.gstz

File: Bolt Action generic Reinforced Platoon.gstz

BattleScribe version: 1.14.08

Platform: iPhone / iPod / iPad

Dropbox: Yes

Description: Under British Armies, tanks, tank destroyers, self-propelled artillery, and anti aircraft guns.

Light tank: MK VII Tetrarch - option for little john adapter for 15pts is not showing

[Anon] Bug report: BA - Finland.catz

File: BA - Finland.catz

BattleScribe version: 1.15.04

Platform: Android

Dropbox: No

Description: Armies of finland doesnt have any options for hq units of units outside of organisation like kaukpartio

[Anon] Bug report: BA - Japan.catz

File: BA - Japan.catz

BattleScribe version: 1.15.07

Platform: Android

Dropbox: No

Description: The type 1 47mm anti-tank fun is not a choice available in the artillery section when designing an army. It appears to have the 37mm light anti-tank fun twice for selection.

[Anon] Bug report: BA - Finland.catz

File: BA - Finland.catz

BattleScribe version: 1.15.07

Platform: Android

Dropbox: No

Description: The Kaukopartio Long Distance Recon Squad should have the option to take a rifle for 1 point per member. Right now only the NCO has the option.

[Anon] Bug report: Bolt Action Theatre Selectors.gstz

File: Bolt Action Theatre Selectors.gstz

BattleScribe version: 2.01.06

Platform: Android

Dropbox: No

Description: Not all the selections for theatre selector forces are available. The Soviet Union is specifically missing multiple theatre selector forces options.

[Anon] Bug report: BA - Armies of Germany.catz

File: BA - Armies of Germany.catz

BattleScribe version: 2.00.19

Platform: iPhone / iPod / iPad

Dropbox: No

Description: Fallschirmjager 5pts less than they should be. An NCO and 4 men should be 70pts, coming up as 65pts.

[Anon] Bug report: BA - Armies of Germany.catz

File: BA - Armies of Germany.catz

BattleScribe version: 2.00.33

Platform: Android

Dropbox: No

Description: Incorrect weapon descriptions for v2. All references to rolling d6 to determine unit hits not templates.

[Anon] Bug report: BA-AotUS - 1944 - Normandy.catz

File: BA-AotUS - 1944 - Normandy.catz

BattleScribe version: 1.15.05

Platform: Windows

Dropbox: No

Description: I have noticed this discrepancy in options available to the units, I have included where it is written.
Veteran infantry squad unable to be selected in reinforced platoon (Not as compulsory 2) only as Infantry - additional units

[Anon] Bug report: Bolt Action generic Reinforced Platoon.gstz

File: Bolt Action generic Reinforced Platoon.gstz

BattleScribe version: 1.15.02

Platform: Windows

Dropbox: No

Description: Find wrong Point-Costs for the British Armys:
"Cruiser Tank MK VIII Cromwell!
Point Costs lt "Datafile" vor:
Inexperienced: 164P
Regular: 205P
Veteran: 246P

Correct Point Costs in the Rule-Book:
Inexperienced: 156P
Regular: 195P
Veteran: 234P

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.