Cristian Sangucho

Game Store

A web application that lets users search video games, make payments, and organize their purchases.


Game Store Interface

๐ŸŒŸ Project Overview

The Game Store project is an interactive Java EE web application that lets users browse, purchase, and manage their video game library. With this platform, users can:

  • Discover Games: Easy browsing and filtering of games to match user preferences.
  • Smooth Transactions: Effortlessly add games to your cart and proceed to secure payment options.
  • Manage Purchases: Once a game is purchased, it is automatically moved to the userโ€™s personal library for future access.

๐Ÿ› ๏ธ Technology Stack

The project leverages a full-stack approach with the following technologies:

  • Java EE & JSP: The core of the application, providing a robust back-end and dynamic front-end.
  • JPA (Jakarta Persistence API): For managing and persisting game and payment data.
  • MySQL: The database that stores video game and payment information.
  • Maven: For managing project dependencies and building the project.

๐Ÿ“š What I Learned

Agile Development with SCRUM

The project was developed using the SCRUM framework, helped me improve my skills in:

  • Sprint Planning: Breaking down large features into manageable tasks for each sprint.
  • Backlog Management Organizing and prioritizing work items, which allowed the team to focus on the most valuable tasks first.
  • Team Collaboration Daily stand-ups and sprint retrospectives ensured that all team members were aligned..

DevOps Implementation

  • Automated build process with Maven (3.3.2)
  • CI/CD pipeline featuring:
    • JUnit test execution gate
    • WAR artifact signing
    • Azure Web App deployment

Testing Infrastructure

  • JUnit 5: Parameterized tests for service layers
  • Mockito: Behavior verification for repository layers

DevOps Toolchain

Cofiguration on Azure DevOps

  • Azure Boards for sprint planning (12 user stories completed)

  • Azure DevOps: Azure DevOps was the central tool used to implement SCRUM and DevOps practices.

    • Azure Boards: Used to manage the project backlog, create user stories, and track progress across sprints.
    • Azure Repos A cloud-based repository for version control, ensuring that code was properly versioned, and changes could be tracked and managed efficiently.
    • Azure Pipelines: Set up for CI/CD, automating the build, test, and deployment processes.
    • Retrospectives: The tool helped us reflect on completed sprints, identify areas for improvement, and iterate on our processes.

๐Ÿš€ Engineering Insights

Agile Implementation

  • Managed 4 sprints using Azure Boards
  • Conducted sprint retrospectives with actionable improvements
  • Implemented planning poker for story point estimation
  • Implemented unit testing
  • Configure CI/CD pipeline