AOWeb is a multiplayer web game project with a PostgreSQL database, a REST API, a WebSocket game server, and a Next.js frontend, all configured for local development.

Stars

51

7-day growth

No data

Forks

22

Open issues

0

License

No data

Last updated

2026-07-29

AI repository intelligence
FR-AI / ANALYSIS

Why it is worth attention

It provides a complete, containerized local setup for a real-time multiplayer game using modern tools (Node 22, pnpm, Docker, WebSocket, Next.js) with clear step-by-step instructions and screenshots.

Who it is for

  • Developers building or learning real-time multiplayer game architectures
  • Hobbyists wanting to self-host a web-based game
  • Full-stack developers interested in Next.js + WebSocket integration
  • Students studying modern web game backends

Use cases

  • Setting up a local development environment for a multiplayer web game
  • Exploring how to combine a REST API with a WebSocket game server
  • Learning containerized database restoration for game state
  • Prototyping a browser-based game with real-time interactions

Strengths

  • Uses Node.js 22 and pnpm for modern package management
  • Docker-based PostgreSQL setup simplifies database provisioning
  • Separation of API, WebSocket server, and frontend allows modular development
  • Clear environment variable examples and startup sequences

Considerations

  • Documentation is only in Spanish, limiting accessibility
  • No production deployment guidance or cloud hosting instructions
  • Game mechanics and objectives are not described; only setup is documented

README quick start

AOWeb

Proyecto creado por Damián Catanzaro.

X: @DamianCatanzaro

Requisitos

  • Node.js 22 o superior
  • pnpm
  • Docker, recomendado para PostgreSQL
  • psql, opcional si preferis restaurar el dump desde el host

1. Levantar La Base De Datos

El dump inicial del juego esta en database/aoweb.sql.

Desde la carpeta padre del proyecto:

docker run --name aoweb-postgres \
  -e POSTGRES_DB=aoweb \
  -e POSTGRES_USER=postgres \
  -e POSTGRES_PASSWORD=postgres \
  -p 127.0.0.1:5432:5432 \
  -d postgres:18-alpine

Restaurar la base:

docker exec -i aoweb-postgres psql -U postgres -d aoweb < database/aoweb.sql

La URL local para la API queda:

DATABASE_URL=postgresql://postgres:postgres@localhost:5432/aoweb

2. Levantar La API

Crear api/.env tomando como base api/.env.example:

PORT=3001
DATABASE_URL=postgresql://postgres:postgres@localhost:5432/aoweb
TOKEN_AUTH=changeme
CORS_ORIGIN=http://localhost:3000

Instalar dependencias y levantar en desarrollo:

cd api
pnpm install
pnpm dev

La API queda en http://localhost:3001.

3. Levantar El Server Del Juego

En otra terminal, crear server/.env tomando como base server/.env.example:

NODE_ENV=development
AOWEB_TEST_MODE=false
INITIAL_ONLINE_RECORD=0
PORT=7666
API_BASE_URL=http://127.0.0.1:3001
RESET_CONNECTED_CHARACTERS_ON_STARTUP=false
TOKEN_AUTH=changeme

Instalar dependencias y levantar:

cd server
pnpm install
pnpm dev

El server WebSocket queda en ws://localhost:7666.

4. Levantar El Frontend

En otra terminal, crear frontend/.env.local tomando como base frontend/.env.example:

NEXT_PUBLIC_API_BASE_URL=http://localhost:3001
API_BASE_URL=http://localhost:3001
TOKEN_AUTH=changeme
NEXT_PUBLIC_WS_URL=ws://localhost:7666

Instalar dependencias y levantar:

cd frontend
pnpm install
pnpm dev

Abrir http://localhost:3000.

Capturas

Related repositories

Similar projects matched by category, topics, and programming language.

TanStack
Featured
TanStack GitHub avatar

router

TanStack Router is a type-safe, data-driven React router with built-in caching, prefetching, and nested layouts, while TanStack Start extends it into a full-stack SSR framework.

Web DevelopmentFrontend Frameworks
14,861
vercel-labs
Featured
vercel-labs GitHub avatar

scriptc

scriptc compiles ordinary TypeScript into small, fast native executables without needing Node.js, V8, or any JavaScript runtime in the binary.

Developer ToolsCode Quality & Build
1,985
Jakubantalik
Featured
Jakubantalik GitHub avatar

thinking-orbs

A React component library that renders six hand-tuned animated thought orb loading indicators on a plain 2D canvas, with two purpose-tuned sizes and automatic theme detection for AI and agent UIs.

AI & Machine LearningAI Agents
1,191