Skip to content

Latest commit

 

History

83 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Video Game Store Application

A Video Game Store application built using PostgreSQL, Liquibase, Spring Boot, Spring Sessions, and Vue.js.

Features

  • Login and Registration
  • Game listing, editing, and deletion
  • Spring Session-based authentication
  • Filtering and sorting
  • Simulated checkout process
  • Change password, username, and email

Prerequisites

Ensure the following tools are installed before setting up the application:

Setup

  1. Clone the repository:

    git clone https://github.com/confusedGustas/VideoGameStore
    cd VideoGameStore
  2. Set up environment variables:

    create a .env file in the root directory and add the following:

    DB_URL=jdbc:postgresql://localhost:5432/video_game_store
    DOCKER_DB_URL=jdbc:postgresql://database:5432/video_game_store
    DB_NAME=video_game_store
    DB_USER=postgres
    DB_PASSWORD=admin
    SPRING_USER=admin
    SPRING_PASSWORD=admin
    
  3. Configure PostgreSQL:

    • Create a new database named video_game_store.
    • Leave the default settings as they are. Spring Boot will create the necessary tables.
    • To adjust settings, edit the .env file.
  4. Build and run the application:

    cd frontend
    npm install
    npm run dev
    cd ..
    ./mvnw spring-boot:run

    (Optional) To run tests, execute:

    ./mvnw test

    Ensure Docker Desktop is running, as the tests utilize Docker containers.

Running with Docker

To run the application using Docker, follow these steps:

  1. Ensure Docker Desktop is installed and running.

  2. Build and run the Docker containers:

    docker compose up

    This command will:

    • Start the PostgreSQL database container.
    • Launch the Spring Boot backend.
    • Launch the Vue.js frontend.
  3. Access the application:

    Use docker compose down to stop the containers when done.

License

This project is licensed under the MIT License.

About

Video Game Store using PostgreSQL, Spring Boot, Spring Sessions and Vue.JS

Topics

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages