Back to all projects

Gamelog

Language(s): Java, React
[ATTENTION] The backend for this project is hosted on a free-tier service. It may take a moment to wake up after the first request.

Gamelog is a comprehensive full-stack application designed to help gamers manage their growing backlog. It provides a centralized hub to track game progress, rate titles, and share libraries with friends.

Built with a modern tech stack featuring Spring Boot 3 on the backend and React 19 on the frontend, it ensures a responsive and robust user experience. The system is designed as a distributed application using Docker for orchestration.

Technical Architecture

The project adopts a layered architecture to separate concerns and ensure maintainability.

  • Backend (Spring Boot 3): Leverages Java 21 and Spring Security for robust API protection. It utilizes Redis to cache temporary data such as email verification codes and password reset links, optimizing performance and security for short-lived tokens.
  • Frontend (React 19): A Single Page Application (SPA) styled with Tailwind CSS. It uses React Context API for global state management and React DnD for the interactive Kanban board.
  • Database & Infrastructure: Data is persisted in PostgreSQL, while the entire stack is containerized using Docker and Docker Compose for consistent deployment environments.

Key Features

  • Kanban Dashboard: An intuitive drag-and-drop interface to manage game statuses (e.g., "Playing", "Completed", "Ditched").
  • Social System: Users can send friend requests, view friends' libraries, and compare gaming statistics, fostering a community experience.
  • Secure Authentication: JWT-based stateless authentication with email verification flow powered by Redis caching.
  • Advanced Discovery: A rich game database with filtering by platform, genre, developer, and more, allowing users to easily expand their backlog.

Technologies Used

JavaSpring BootReactPostgreSQLDockerRedis