×
About the Project
Wordle
Recreated the NY Times Wordle game. Users have 6 attempts to guess a secret word while being given colored feedback hints based on their guesses.
Battleship
Recreated the classic Battleship board game, ran through a web browser. Users manually place their ships and battle it out with a computer player to see who can sink the other players' ships first!
Project Overview
Using Agile Scrum methodologies, the cross-functional Software Development team developed two production-ready, browser-based applications utilizing a full CI/CD pipeline. Tools leveraged include version and source control, automated testing, scrum boards, Spring Boot, AWS, and CI/CD automation. Deployment used nginx, AWS, CloudFlare, and blue-green server deployment for new releases.
Software Used
Nginx - Routes traffic to fdugames.org and test.fdugames.org, avoiding exposed ports via subdomain routing.
IntelliJ - Main IDE used for development.
Spring Boot (Java) - Main Java framework used.
Maven - Build automation; supports platform-independent builds (GitHub Actions, Jenkins).
Checkstyle - Static analysis of coding style, packaged with GitHub Actions and Maven.
SpotBugs - Static analysis of potential bug patterns, packaged with GitHub Actions and Maven.
PMD/CPD - Detects common programming flaws (PMD) and duplicate code blocks (CPD).
JaCoCo - Maven plugin measuring code coverage; enforces 70% thresholds on each build.
JUnit - Backend testing of game functionality, methods, and classes.
REST API Tests - Validates application endpoints.
Selenium - Used for automatically testing the web app through a web driver, simulating the front end user experience.
Technology / Tools
GitHub
Jira
JavaDocs
Programming Languages: Java, JavaScript, CSS, and Python (Selenium)
Amazon Web Services - Security Group, EC2 Instances, Linux VMs
Blue/Green Deployment - Single AWS EC2 server running two app versions on separate ports with Nginx routing. Enables zero-downtime deployments and instant rollback.
Pipelines
Jenkins - Automated (SCM Jenkinsfile) and manual (parameterized) build pipelines with automated versioning for both Battleship and Wordle (production and test servers).
GitHub Actions
Battleship - Two workflows: a push workflow running Maven build + all static analysis tools with quality gates; and a PR workflow running tests, generating JaCoCo coverage reports posted as PR comments, failing if coverage drops below 70%.
Wordle - A single PR workflow running Maven build and tests, publishing JaCoCo coverage results as a PR comment with a 70% minimum threshold.
Both - Share an automated Git tagging workflow that triggers on merge to master, bumping semantic version (major/minor/patch) based on PR labels.
Team Credits
Aaron Behrens
Anthony Vacchiano
Drilon Toska
Emirlan Asanakunov
Joshua Lynch
Liza Sukhija
Madelyn Daniel
Philip Maraldo
Xavier Orrala Adrian