Skip to content

Groont is a full-stack web application clone of the popular word puzzle game, Wordle.

Notifications You must be signed in to change notification settings

vitalii-skl/groont

Repository files navigation

Ґрунт - Groont App (Wordle Clone)

A full-stack application with Spring Boot backend and ReactJS frontend.

Prerequisites

Before running this application, make sure you have installed:

  • Java 25 or higher
  • Node.js 20 or higher
  • PostgreSQL 17 or higher
  • Maven 3.9 or higher

Installation & Setup

Backend Setup

1. Clone the repository

git clone https://github.com/vitalii-skl/groont.git
cd groont

2. Navigate to backend directory

cd backend

3. Configure database

  • Create a database in PostgreSQL
  • Update src/main/resources/application.json:
spring:
  datasource:
    url: jdbc:postgresql://localhost:5432/<your-database>
    username: <your_username>
    password: <your_password>

4. Run the application

./mvnw spring-boot:run

Or build and run:

./mvnw clean package
java -jar targer/<application_name>.jar

The backend will start on http://localhost:8080

Frontend Setup

1. Navigate to frontend directory (in a new terminal)

cd frontend

2. Install dependencies

npm install

3. Start the development server

npm run dev

The frontend will start on http://localhost:5173

Alternative method to run the application

It is possible to run the application in Docker without all the prerequisites above.

Start In a development mode

Run command:

docker-compose -f docker-compose.dev.yml up --build

When running in development mode, the project creates persistent Docker volumes for the frontend and backend. This facilitates hot-reloading by syncing your local code changes with the containerized environment.

Start In a production mode

1. Create and configure .env.prod file:

POSTGRES_DB=<your-database>
POSTGRES_USER=<your_username>
POSTGRES_PASSWORD=<your_password>
DATABASE_HOST=<your_database_hostname>
DATABASE_PORT=<your_database_port_number>

This configuration file manages environment variables for your application, ensuring they remain protected from public exposure in source repositories such as GitHub.

2. Run command:

docker-compose --env-file .env.prod -f docker-compose.prod.yml up --build

Docker generates anonymous cached images that accumulate with each restart. It's recommend regularly cleaning them up using docker image prune to prevent excessive disk usage.

docker image prune

About

Groont is a full-stack web application clone of the popular word puzzle game, Wordle.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published