Skip to content

ndeamador/game-affinity-project-client

Repository files navigation

Playground full-stack project:
videogame ranking website and API.

🚧🚧🚧🚧 Work in Progress 🚧🚧🚧🚧


Home view


Library view


Features

  • Written in modern React with hooks using only functional components.
  • Simple local state management with React and Apollo Graphql (no Redux or similar).
  • Project fully written in TypeScript.
  • Full user authentication system.
  • Persistent drag-and-drop ranking system.
  • Custom server interfacing a PostgreSQL database for accounts and ratings persistence, a Redis sessions cache, and connections to a third party API.
  • Deployment pipeline using GitHub Actions with automated testing, linting and Docker image building and publishing.
  • Docker images optimization (e.g.: reduced backend image size from 1.23 GB to 189 MB with a multi-stage build).
  • Project deployed to production using Vercel and a self-managed Digital Ocean Ubuntu droplet running Docker virtual machines.

Home view


Pending

  • Mobile friendly design: due to the structure of the drag-and-drop system, a custom, mobile-specific, responsive rating module for "My Library" needs to be built from scratch.
  • Lexorank implementation for efficient Drag and Drop persistence.
  • Streamline production automation for PostgreSQL migrations.
  • Updated tests for the most recent features.

Game Profile Modal