Latest commit

History

226 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WebCheckers

An online Checkers game system built in Java 8=>11 and Spark, a web micro-framework.

Team

  • Michael Taylor
  • Andrew Chacon
  • Greg Villafane
  • Huan Huynh

Prerequisites

  • Java 8=>11 (Make sure to have correct JAVA_HOME setup in your environment)
  • Maven

How to run it

  1. Clone the repository and go to the root directory.
  2. Execute mvn compile exec:java
  3. Open in your browser http://localhost:4567/
  4. Start a game and begin playing.

Known bugs and disclaimers

(It may be the case that your implementation is not perfect.)

Document any known bug or nuisance. If any shortcomings, make clear what these are and where they are located.

How to test it

The Maven build script provides hooks for run unit tests and generate code coverage reports in HTML.

To run tests on all tiers together do this:

  1. Execute mvn clean test jacoco:report
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/index.html

To run tests on a single tier do this:

  1. Execute mvn clean test-compile surefire:test@tier jacoco:report@tier where tier is one of ui, appl, model
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/{ui, appl, model}/index.html

To run tests on all the tiers in isolation do this:

  1. Execute mvn exec:exec@tests-and-coverage
  2. To view the Model tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/model/index.html
  3. To view the Application tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/appl/index.html
  4. To view the UI tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/ui/index.html

How to generate the Design documentation PDF

  1. Execute mvn exec:exec@docs
  2. Note: this command will fail on a clean project without a /target directory. Create the directory first if running after a clean operation without any intervening commands that create the directory, such as compile.
  3. The generated PDF will be in PROJECT_HOME/target/ directory

How to create a zipfile distribution of the source for the project

  1. Execute mvn exec:exec@zip
  2. The distribution zipfile will be in PROJECT_HOME/target/WebCheckers.zip

License

MIT License

See LICENSE for details.

About

Web Version of the classic board game checkers

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Add copy buttons to all
 blocks\n(function() {\n function addCopyButtons() {\n document.querySelectorAll('pre code').forEach(function(codeBlock) {\n if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;\n codeBlock.parentElement.setAttribute('data-copy-added', 'true');\n \n var btn = document.createElement('button');\n btn.textContent = 'Copy';\n btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';\n btn.onmouseover = function() { this.style.opacity = '1'; };\n btn.onmouseout = function() { this.style.opacity = '0.7'; };\n btn.onclick = function() {\n navigator.clipboard.writeText(codeBlock.textContent).then(function() {\n btn.textContent = 'Copied!';\n setTimeout(function() { btn.textContent = 'Copy'; }, 1500);\n });\n };\n codeBlock.parentElement.style.position = 'relative';\n codeBlock.parentElement.appendChild(btn);\n });\n }\n \n addCopyButtons();\n \n // Re-run on dynamic content\n var observer = new MutationObserver(addCopyButtons);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Add Copy Buttons to Code Blocks");
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

Latest commit

History

226 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WebCheckers

An online Checkers game system built in Java 8=>11 and Spark, a web micro-framework.

Team

  • Michael Taylor
  • Andrew Chacon
  • Greg Villafane
  • Huan Huynh

Prerequisites

  • Java 8=>11 (Make sure to have correct JAVA_HOME setup in your environment)
  • Maven

How to run it

  1. Clone the repository and go to the root directory.
  2. Execute mvn compile exec:java
  3. Open in your browser http://localhost:4567/
  4. Start a game and begin playing.

Known bugs and disclaimers

(It may be the case that your implementation is not perfect.)

Document any known bug or nuisance. If any shortcomings, make clear what these are and where they are located.

How to test it

The Maven build script provides hooks for run unit tests and generate code coverage reports in HTML.

To run tests on all tiers together do this:

  1. Execute mvn clean test jacoco:report
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/index.html

To run tests on a single tier do this:

  1. Execute mvn clean test-compile surefire:test@tier jacoco:report@tier where tier is one of ui, appl, model
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/{ui, appl, model}/index.html

To run tests on all the tiers in isolation do this:

  1. Execute mvn exec:exec@tests-and-coverage
  2. To view the Model tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/model/index.html
  3. To view the Application tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/appl/index.html
  4. To view the UI tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/ui/index.html

How to generate the Design documentation PDF

  1. Execute mvn exec:exec@docs
  2. Note: this command will fail on a clean project without a /target directory. Create the directory first if running after a clean operation without any intervening commands that create the directory, such as compile.
  3. The generated PDF will be in PROJECT_HOME/target/ directory

How to create a zipfile distribution of the source for the project

  1. Execute mvn exec:exec@zip
  2. The distribution zipfile will be in PROJECT_HOME/target/WebCheckers.zip

License

MIT License

See LICENSE for details.

About

Web Version of the classic board game checkers

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Force GitHub README to respect dark mode\n(function() {\n var style = document.createElement('style');\n style.textContent = '\n .markdown-body {\n color-scheme: dark light;\n }\n .markdown-body pre { background: #161b22 !important; }\n .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; }\n .markdown-body table th, .markdown-body table td { border-color: #30363d !important; }\n .markdown-body img { background: #0d1117; }\n .markdown-body blockquote { border-left-color: #8b949e; }\n .markdown-body hr { border-color: #30363d; }\n ';\n document.head.appendChild(style);\n})();", "GitHub Dark Mode README Fix"); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

226 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WebCheckers

An online Checkers game system built in Java 8=>11 and Spark, a web micro-framework.

Team

  • Michael Taylor
  • Andrew Chacon
  • Greg Villafane
  • Huan Huynh

Prerequisites

  • Java 8=>11 (Make sure to have correct JAVA_HOME setup in your environment)
  • Maven

How to run it

  1. Clone the repository and go to the root directory.
  2. Execute mvn compile exec:java
  3. Open in your browser http://localhost:4567/
  4. Start a game and begin playing.

Known bugs and disclaimers

(It may be the case that your implementation is not perfect.)

Document any known bug or nuisance. If any shortcomings, make clear what these are and where they are located.

How to test it

The Maven build script provides hooks for run unit tests and generate code coverage reports in HTML.

To run tests on all tiers together do this:

  1. Execute mvn clean test jacoco:report
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/index.html

To run tests on a single tier do this:

  1. Execute mvn clean test-compile surefire:test@tier jacoco:report@tier where tier is one of ui, appl, model
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/{ui, appl, model}/index.html

To run tests on all the tiers in isolation do this:

  1. Execute mvn exec:exec@tests-and-coverage
  2. To view the Model tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/model/index.html
  3. To view the Application tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/appl/index.html
  4. To view the UI tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/ui/index.html

How to generate the Design documentation PDF

  1. Execute mvn exec:exec@docs
  2. Note: this command will fail on a clean project without a /target directory. Create the directory first if running after a clean operation without any intervening commands that create the directory, such as compile.
  3. The generated PDF will be in PROJECT_HOME/target/ directory

How to create a zipfile distribution of the source for the project

  1. Execute mvn exec:exec@zip
  2. The distribution zipfile will be in PROJECT_HOME/target/WebCheckers.zip

License

MIT License

See LICENSE for details.

About

Web Version of the classic board game checkers

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Highlight search terms from Google/DuckDuckGo/Bing referrer\n(function() {\n var ref = document.referrer;\n var terms = [];\n \n if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) {\n var url = new URL(ref);\n var q = url.searchParams.get('q') || url.searchParams.get('p');\n if (q) {\n terms = q.split(/\\s+/).filter(function(t) { return t.length > 2; });\n }\n }\n \n if (terms.length === 0) return;\n \n var style = document.createElement('style');\n style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }';\n document.head.appendChild(style);\n \n function highlight(node) {\n if (node.nodeType === 3) { // text node\n var text = node.textContent;\n var found = false;\n terms.forEach(function(term) {\n var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\') + ')', 'gi');\n if (regex.test(text)) {\n found = true;\n var frag = document.createDocumentFragment();\n var parts = text.split(regex);\n parts.forEach(function(part, i) {\n if (i % 2 === 0) {\n frag.appendChild(document.createTextNode(part));\n } else {\n var span = document.createElement('span');\n span.className = 'userscript-highlight';\n span.textContent = part;\n frag.appendChild(span);\n }\n });\n node.parentNode.replaceChild(frag, node);\n }\n });\n } else if (node.nodeType === 1 && node.childNodes) { // element\n var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT'];\n if (!skipTags.includes(node.tagName)) {\n Array.from(node.childNodes).forEach(highlight);\n }\n }\n }\n \n highlight(document.body);\n \n // Re-highlight on dynamic content\n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1 || node.nodeType === 3) highlight(node);\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Highlight Search Terms"); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

226 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WebCheckers

An online Checkers game system built in Java 8=>11 and Spark, a web micro-framework.

Team

  • Michael Taylor
  • Andrew Chacon
  • Greg Villafane
  • Huan Huynh

Prerequisites

  • Java 8=>11 (Make sure to have correct JAVA_HOME setup in your environment)
  • Maven

How to run it

  1. Clone the repository and go to the root directory.
  2. Execute mvn compile exec:java
  3. Open in your browser http://localhost:4567/
  4. Start a game and begin playing.

Known bugs and disclaimers

(It may be the case that your implementation is not perfect.)

Document any known bug or nuisance. If any shortcomings, make clear what these are and where they are located.

How to test it

The Maven build script provides hooks for run unit tests and generate code coverage reports in HTML.

To run tests on all tiers together do this:

  1. Execute mvn clean test jacoco:report
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/index.html

To run tests on a single tier do this:

  1. Execute mvn clean test-compile surefire:test@tier jacoco:report@tier where tier is one of ui, appl, model
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/{ui, appl, model}/index.html

To run tests on all the tiers in isolation do this:

  1. Execute mvn exec:exec@tests-and-coverage
  2. To view the Model tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/model/index.html
  3. To view the Application tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/appl/index.html
  4. To view the UI tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/ui/index.html

How to generate the Design documentation PDF

  1. Execute mvn exec:exec@docs
  2. Note: this command will fail on a clean project without a /target directory. Create the directory first if running after a clean operation without any intervening commands that create the directory, such as compile.
  3. The generated PDF will be in PROJECT_HOME/target/ directory

How to create a zipfile distribution of the source for the project

  1. Execute mvn exec:exec@zip
  2. The distribution zipfile will be in PROJECT_HOME/target/WebCheckers.zip

License

MIT License

See LICENSE for details.

About

Web Version of the classic board game checkers

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Strip utm_, fbclid, gclid, etc. from all links on page\n(function() {\n var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content',\n 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid',\n 'ref', 'ref_src', 'source', 'medium', 'campaign'];\n \n function cleanUrl(url) {\n try {\n var u = new URL(url, window.location.origin);\n var changed = false;\n trackingParams.forEach(function(p) {\n if (u.searchParams.has(p)) {\n u.searchParams.delete(p);\n changed = true;\n }\n });\n return changed ? u.toString() : url;\n } catch (e) {\n return url;\n }\n }\n \n function cleanLinks() {\n document.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n \n cleanLinks();\n \n var observer = new MutationObserver(function(mutations) {\n mutations.forEach(function(m) {\n m.addedNodes.forEach(function(node) {\n if (node.nodeType === 1) {\n if (node.tagName === 'A') cleanLinks();\n node.querySelectorAll('a[href]').forEach(function(a) {\n var clean = cleanUrl(a.href);\n if (clean !== a.href) a.href = clean;\n });\n }\n });\n });\n });\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "Remove Tracking Parameters from Links"); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

Latest commit

History

226 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WebCheckers

An online Checkers game system built in Java 8=>11 and Spark, a web micro-framework.

Team

  • Michael Taylor
  • Andrew Chacon
  • Greg Villafane
  • Huan Huynh

Prerequisites

  • Java 8=>11 (Make sure to have correct JAVA_HOME setup in your environment)
  • Maven

How to run it

  1. Clone the repository and go to the root directory.
  2. Execute mvn compile exec:java
  3. Open in your browser http://localhost:4567/
  4. Start a game and begin playing.

Known bugs and disclaimers

(It may be the case that your implementation is not perfect.)

Document any known bug or nuisance. If any shortcomings, make clear what these are and where they are located.

How to test it

The Maven build script provides hooks for run unit tests and generate code coverage reports in HTML.

To run tests on all tiers together do this:

  1. Execute mvn clean test jacoco:report
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/index.html

To run tests on a single tier do this:

  1. Execute mvn clean test-compile surefire:test@tier jacoco:report@tier where tier is one of ui, appl, model
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/{ui, appl, model}/index.html

To run tests on all the tiers in isolation do this:

  1. Execute mvn exec:exec@tests-and-coverage
  2. To view the Model tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/model/index.html
  3. To view the Application tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/appl/index.html
  4. To view the UI tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/ui/index.html

How to generate the Design documentation PDF

  1. Execute mvn exec:exec@docs
  2. Note: this command will fail on a clean project without a /target directory. Create the directory first if running after a clean operation without any intervening commands that create the directory, such as compile.
  3. The generated PDF will be in PROJECT_HOME/target/ directory

How to create a zipfile distribution of the source for the project

  1. Execute mvn exec:exec@zip
  2. The distribution zipfile will be in PROJECT_HOME/target/WebCheckers.zip

License

MIT License

See LICENSE for details.

About

Web Version of the classic board game checkers

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Auto-enable theater mode on YouTube\n(function() {\n function tryTheater() {\n var btn = document.querySelector('button[aria-label=\"Theater mode\"], ytd-player #player button[title=\"Theater mode\"]');\n if (btn && !btn.classList.contains('activated')) {\n btn.click();\n }\n }\n \n // Try immediately\n tryTheater();\n \n // Try after navigation (SPA)\n var lastUrl = location.href;\n setInterval(function() {\n if (location.href !== lastUrl) {\n lastUrl = location.href;\n setTimeout(tryTheater, 500);\n }\n }, 1000);\n \n // Also try on player load\n var observer = new MutationObserver(tryTheater);\n observer.observe(document.body, { childList: true, subtree: true });\n})();", "YouTube Theater Mode Default"); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

226 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WebCheckers

An online Checkers game system built in Java 8=>11 and Spark, a web micro-framework.

Team

  • Michael Taylor
  • Andrew Chacon
  • Greg Villafane
  • Huan Huynh

Prerequisites

  • Java 8=>11 (Make sure to have correct JAVA_HOME setup in your environment)
  • Maven

How to run it

  1. Clone the repository and go to the root directory.
  2. Execute mvn compile exec:java
  3. Open in your browser http://localhost:4567/
  4. Start a game and begin playing.

Known bugs and disclaimers

(It may be the case that your implementation is not perfect.)

Document any known bug or nuisance. If any shortcomings, make clear what these are and where they are located.

How to test it

The Maven build script provides hooks for run unit tests and generate code coverage reports in HTML.

To run tests on all tiers together do this:

  1. Execute mvn clean test jacoco:report
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/index.html

To run tests on a single tier do this:

  1. Execute mvn clean test-compile surefire:test@tier jacoco:report@tier where tier is one of ui, appl, model
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/{ui, appl, model}/index.html

To run tests on all the tiers in isolation do this:

  1. Execute mvn exec:exec@tests-and-coverage
  2. To view the Model tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/model/index.html
  3. To view the Application tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/appl/index.html
  4. To view the UI tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/ui/index.html

How to generate the Design documentation PDF

  1. Execute mvn exec:exec@docs
  2. Note: this command will fail on a clean project without a /target directory. Create the directory first if running after a clean operation without any intervening commands that create the directory, such as compile.
  3. The generated PDF will be in PROJECT_HOME/target/ directory

How to create a zipfile distribution of the source for the project

  1. Execute mvn exec:exec@zip
  2. The distribution zipfile will be in PROJECT_HOME/target/WebCheckers.zip

License

MIT License

See LICENSE for details.

About

Web Version of the classic board game checkers

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Remove or un-stick sticky/fixed headers that block content\n(function() {\n function unstick() {\n document.querySelectorAll('header, nav, [role=\"banner\"], .header, .navbar, .sticky, .fixed-top, [style*=\"position: fixed\"], [style*=\"position:sticky\"]').forEach(function(el) {\n if (el.style.position === 'fixed' || el.style.position === 'sticky' || \n getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') {\n el.style.position = 'static';\n el.style.top = 'auto';\n el.style.zIndex = 'auto';\n }\n });\n }\n \n unstick();\n \n var observer = new MutationObserver(unstick);\n observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] });\n})();", "Kill Sticky Headers"); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

Latest commit

History

226 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WebCheckers

An online Checkers game system built in Java 8=>11 and Spark, a web micro-framework.

Team

  • Michael Taylor
  • Andrew Chacon
  • Greg Villafane
  • Huan Huynh

Prerequisites

  • Java 8=>11 (Make sure to have correct JAVA_HOME setup in your environment)
  • Maven

How to run it

  1. Clone the repository and go to the root directory.
  2. Execute mvn compile exec:java
  3. Open in your browser http://localhost:4567/
  4. Start a game and begin playing.

Known bugs and disclaimers

(It may be the case that your implementation is not perfect.)

Document any known bug or nuisance. If any shortcomings, make clear what these are and where they are located.

How to test it

The Maven build script provides hooks for run unit tests and generate code coverage reports in HTML.

To run tests on all tiers together do this:

  1. Execute mvn clean test jacoco:report
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/index.html

To run tests on a single tier do this:

  1. Execute mvn clean test-compile surefire:test@tier jacoco:report@tier where tier is one of ui, appl, model
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/{ui, appl, model}/index.html

To run tests on all the tiers in isolation do this:

  1. Execute mvn exec:exec@tests-and-coverage
  2. To view the Model tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/model/index.html
  3. To view the Application tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/appl/index.html
  4. To view the UI tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/ui/index.html

How to generate the Design documentation PDF

  1. Execute mvn exec:exec@docs
  2. Note: this command will fail on a clean project without a /target directory. Create the directory first if running after a clean operation without any intervening commands that create the directory, such as compile.
  3. The generated PDF will be in PROJECT_HOME/target/ directory

How to create a zipfile distribution of the source for the project

  1. Execute mvn exec:exec@zip
  2. The distribution zipfile will be in PROJECT_HOME/target/WebCheckers.zip

License

MIT License

See LICENSE for details.

About

Web Version of the classic board game checkers

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { injectUserscript("// Universal Dark Mode - works on any site\n(function() {\n var enabled = true;\n \n function applyDarkMode() {\n if (!enabled) return;\n \n // Create style element if it doesn't exist\n var style = document.getElementById('universal-dark-mode-style');\n if (!style) {\n style = document.createElement('style');\n style.id = 'universal-dark-mode-style';\n document.head.appendChild(style);\n }\n \n // Dark mode CSS - inverts colors but preserves images/video\n style.textContent = '\n /* Invert everything except media */\n html {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #1a1a2e !important;\n }\n \n /* Restore images, videos, iframes, canvas */\n img, video, iframe, canvas, svg, picture, [style*=\"background-image\"] {\n filter: invert(1) hue-rotate(180deg) !important;\n }\n \n /* Preserve specific elements that should not be inverted */\n .no-dark-mode, .no-dark-mode *,\n [data-theme=\"light\"], [data-theme=\"light\"],\n .ace_editor, .ace_editor *,\n .CodeMirror, .CodeMirror *,\n .monaco-editor, .monaco-editor *,\n .markdown-body pre, .markdown-body pre *,\n .highlight, .highlight *,\n pre code, pre code * {\n filter: none !important;\n }\n \n /* Fix common UI elements */\n .modal, .popup, .dropdown-menu, .tooltip, .popover {\n filter: invert(1) hue-rotate(180deg) !important;\n background: #2d2d44 !important;\n border-color: #444 !important;\n }\n \n /* Scrollbars */\n ::-webkit-scrollbar { background: #1a1a2e !important; }\n ::-webkit-scrollbar-thumb { background: #444 !important; }\n ::-webkit-scrollbar-thumb:hover { background: #555 !important; }\n \n /* Selection */\n ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; }\n ';\n }\n \n function removeDarkMode() {\n var style = document.getElementById('universal-dark-mode-style');\n if (style) style.remove();\n }\n \n // Toggle with Alt+Shift+D\n document.addEventListener('keydown', function(e) {\n if (e.altKey && e.shiftKey && e.key === 'D') {\n e.preventDefault();\n enabled = !enabled;\n if (enabled) {\n applyDarkMode();\n console.log('[Universal Dark Mode] Enabled');\n } else {\n removeDarkMode();\n console.log('[Universal Dark Mode] Disabled');\n }\n }\n });\n \n // Apply on load\n applyDarkMode();\n \n // Re-apply on dynamic content\n var observer = new MutationObserver(function(mutations) {\n if (enabled && !document.getElementById('universal-dark-mode-style')) {\n applyDarkMode();\n }\n });\n observer.observe(document.head, { childList: true });\n \n console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle');\n})();", "Universal Dark Mode"); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

Latest commit

History

226 Commits

Folders and files

NameName
Last commit message
Last commit date

Repository files navigation

WebCheckers

An online Checkers game system built in Java 8=>11 and Spark, a web micro-framework.

Team

  • Michael Taylor
  • Andrew Chacon
  • Greg Villafane
  • Huan Huynh

Prerequisites

  • Java 8=>11 (Make sure to have correct JAVA_HOME setup in your environment)
  • Maven

How to run it

  1. Clone the repository and go to the root directory.
  2. Execute mvn compile exec:java
  3. Open in your browser http://localhost:4567/
  4. Start a game and begin playing.

Known bugs and disclaimers

(It may be the case that your implementation is not perfect.)

Document any known bug or nuisance. If any shortcomings, make clear what these are and where they are located.

How to test it

The Maven build script provides hooks for run unit tests and generate code coverage reports in HTML.

To run tests on all tiers together do this:

  1. Execute mvn clean test jacoco:report
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/index.html

To run tests on a single tier do this:

  1. Execute mvn clean test-compile surefire:test@tier jacoco:report@tier where tier is one of ui, appl, model
  2. Open in your browser the file at PROJECT_HOME/target/site/jacoco/{ui, appl, model}/index.html

To run tests on all the tiers in isolation do this:

  1. Execute mvn exec:exec@tests-and-coverage
  2. To view the Model tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/model/index.html
  3. To view the Application tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/appl/index.html
  4. To view the UI tier tests open in your browser the file at PROJECT_HOME/target/site/jacoco/ui/index.html

How to generate the Design documentation PDF

  1. Execute mvn exec:exec@docs
  2. Note: this command will fail on a clean project without a /target directory. Create the directory first if running after a clean operation without any intervening commands that create the directory, such as compile.
  3. The generated PDF will be in PROJECT_HOME/target/ directory

How to create a zipfile distribution of the source for the project

  1. Execute mvn exec:exec@zip
  2. The distribution zipfile will be in PROJECT_HOME/target/WebCheckers.zip

License

MIT License

See LICENSE for details.

About

Web Version of the classic board game checkers

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages