Gaming Library

PythonTypeScriptFastAPINext.jsMicroservicesPostgreSQLDocker
Ongoing

A comprehensive microservice-based gaming collection management platform that allows users to manage their game libraries, search for games, and track their gaming collections. This project demonstrates modern full-stack development with microservice architecture.

This is a project that I can continually work on and update that is based around my hobbies (Gaming). I wanted to make it a microservice project. The backend parts were very familiar as they mirrored the types of development I have done in the past. This gave me a chance to see how well AI Agents can be used for development. For these I could ask the agent do things in a very detailed manner in small steps, and verify the result. I knew right away if it was following the same method I would have, and could ask questions or correct when it went off that path.

For the frontend parts, I had it help scaffold the site, and then created a "learning-mode" agent mode for Copilot that would help tutor me on adding parts to the Nextjs components so I could practice over time.

Architecture Overview

This is a microservice architecture consisting of multiple services that work together:

Core Services

Frontend (Next.js)

  • User interface and client-side logic
  • React-based responsive web application
  • Hot reloading for development

Auth Service (FastAPI)

  • User authentication and JWT token management
  • User signup, login, and profile management
  • Secure authentication endpoints

Game Service (FastAPI)

  • IGDB (Internet Game Database) integration
  • Game search and discovery features
  • Game collections management

Shared Database (PostgreSQL)

  • Centralized data storage for all services
  • SQLAlchemy models and migrations
  • Consistent data schema across services

Key Features

  • Microservice Architecture: Scalable, maintainable service separation
  • Full-Stack Development: Modern frontend with robust backend APIs
  • Database Integration: PostgreSQL with SQLAlchemy ORM
  • API Documentation: Auto-generated Swagger UI for all services
  • Development Workflow: Docker Compose with hot reloading
  • Code Quality: Pre-commit hooks, linting, and formatting

Tech Stack

  • Backend: Python (FastAPI, SQLAlchemy, Alembic)
  • Frontend: TypeScript (Next.js, React)
  • Database: PostgreSQL
  • Containerization: Docker & Docker Compose
  • Development Tools: Poetry, Pre-commit, Pylint, Black, Flake8

Testing & Quality

  • Comprehensive test coverage across all services
  • VS Code task integration for testing workflows
  • Pre-commit hooks for code quality
  • TDD approach following established patterns

Future Roadmap

  • AI: Add MCP server for the IGDB API. Add AI chat interface for user interaction.
  • API Gateway: Request routing and rate limiting
  • Enhanced Features: View other user collections, wishlists, social features
  • CI/CD Pipeline: Automated testing and deployment
  • Kubernetes: Container orchestration for production
  • Social Features: Friends, recommendations, sharing