docs: add comprehensive project documentation
Some checks failed
Deploy / deploy (push) Has been cancelled
Some checks failed
Deploy / deploy (push) Has been cancelled
- README.md: project overview, server status, quick start guide, architecture diagram, tech stack, and content inventory - docs/architecture.md: technical architecture, service diagram, component details, and design decisions - docs/game-servers.md: setup and operation guide for OpenFusion, MapleStory 2, and Minecraft FTB Infinity Evolved - docs/cms-content.md: Strapi content model, i18n strategy, documentary structure, and API endpoints - docs/deployment.md: local dev, production deploy, CI/CD, SSL setup, backup procedures, and monitoring Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
198
README.md
Normal file
198
README.md
Normal file
@@ -0,0 +1,198 @@
|
||||
# Project Afterlife
|
||||
|
||||
Plataforma de preservacion de videojuegos con documentales interactivos. Servidores privados de juegos que ya no existen, acompanados de documentales narrativos que cuentan su historia.
|
||||
|
||||
## Estado Actual
|
||||
|
||||
| Servicio | Estado | Puerto | RAM |
|
||||
|----------|--------|--------|-----|
|
||||
| **Next.js 15** (frontend) | En linea | 3000 | ~111 MB |
|
||||
| **Strapi 5** (CMS) | En linea | 1337 | ~179 MB |
|
||||
| **PostgreSQL 16** | En linea | 5432 | ~57 MB |
|
||||
| **MinIO** (almacenamiento) | En linea | 9000/9001 | ~144 MB |
|
||||
| **OpenFusion** (FusionFall) | En linea | 23000-23001 | ~254 MB |
|
||||
| **MapleStory 2 - World** | En linea | 21001 | ~126 MB |
|
||||
| **MapleStory 2 - Login** | En linea | 20001 | ~100 MB |
|
||||
| **MapleStory 2 - Web** | En linea | 4000 | ~70 MB |
|
||||
| **MapleStory 2 - Game Ch0** | En linea | 20002/21002 | ~341 MB |
|
||||
| **MapleStory 2 - MySQL** | En linea | 3307 | ~733 MB |
|
||||
| **Minecraft FTB Infinity** | En linea | 25565 | ~3.5 GB |
|
||||
|
||||
**Total**: ~5.6 GB RAM / 40 GB disponibles | 31 GB disco / 96 GB disponibles
|
||||
|
||||
## Juegos Preservados
|
||||
|
||||
### FusionFall (Cartoon Network Universe)
|
||||
- **Emulador**: [OpenFusion](https://github.com/OpenFusionProject/OpenFusion) (C++)
|
||||
- **Conexion**: `192.168.10.234:23000`
|
||||
- **Cliente**: [FusionFall Retro Client](https://github.com/OpenFusionProject)
|
||||
- **Documental**: "FusionFall: El Mundo Que No Queriamos Perder" (7 capitulos)
|
||||
|
||||
### MapleStory 2
|
||||
- **Emulador**: [Maple2](https://github.com/MS2Community/Maple2) (C# .NET 8)
|
||||
- **Conexion**: `192.168.10.234:20001` (Login Server)
|
||||
- **Cliente**: MapleStory 2 Global Client + XML Patches
|
||||
- **Documental**: "MapleStory 2: El Mundo Que Construimos Juntos" (7 capitulos)
|
||||
|
||||
### Minecraft: FTB Infinity Evolved
|
||||
- **Servidor**: [itzg/minecraft-server](https://github.com/itzg/docker-minecraft-server) (Java 8)
|
||||
- **Conexion**: `192.168.10.234:25565`
|
||||
- **Cliente**: FTB App o launcher compatible con FTB Infinity Evolved v3.1.0
|
||||
- **Modpack**: 175+ mods, Minecraft 1.7.10 + Forge 10.13.4.1614
|
||||
|
||||
## Arquitectura
|
||||
|
||||
```
|
||||
project-afterlife/
|
||||
├── apps/
|
||||
│ ├── cms/ # Strapi 5 CMS (React 18)
|
||||
│ └── web/ # Next.js 15 frontend (React 19)
|
||||
├── packages/
|
||||
│ └── shared/ # Tipos TypeScript compartidos
|
||||
├── servers/
|
||||
│ ├── openfusion/ # Servidor FusionFall (C++)
|
||||
│ └── maple2/ # Servidor MapleStory 2 (C# .NET 8)
|
||||
├── docker/
|
||||
│ ├── docker-compose.dev.yml # Stack local (web + CMS + juegos)
|
||||
│ ├── docker-compose.maple2.yml # MapleStory 2 (separado)
|
||||
│ ├── docker-compose.yml # Produccion (con Nginx + SSL)
|
||||
│ └── nginx/ # Configuracion Nginx
|
||||
├── docs/ # Documentacion del proyecto
|
||||
└── .github/workflows/ # CI/CD deployment
|
||||
```
|
||||
|
||||
### Stack Tecnologico
|
||||
|
||||
| Componente | Tecnologia | Version |
|
||||
|-----------|-----------|---------|
|
||||
| Frontend | Next.js + TypeScript | 15.x |
|
||||
| UI | Tailwind CSS | v4 |
|
||||
| i18n | next-intl | 4.8.3 |
|
||||
| CMS | Strapi | 5.36.0 |
|
||||
| Base de datos (CMS) | PostgreSQL | 16 |
|
||||
| Base de datos (MS2) | MySQL | 8.0 |
|
||||
| Almacenamiento | MinIO (S3) | Latest |
|
||||
| Audio | Howler.js | 2.2.4 |
|
||||
| Animaciones | Framer Motion | 12.x |
|
||||
| Monorepo | npm workspaces + Turborepo | - |
|
||||
| CI/CD | GitHub Actions | - |
|
||||
| Reverse Proxy | Nginx | Alpine |
|
||||
|
||||
## Inicio Rapido
|
||||
|
||||
### Requisitos
|
||||
- Docker y Docker Compose v2+
|
||||
- 8 GB RAM minimo (16 GB recomendado con todos los servidores)
|
||||
- 50 GB disco libre
|
||||
|
||||
### 1. Clonar y configurar
|
||||
|
||||
```bash
|
||||
git clone https://git.consultoria-as.com/consultoria-as/project-afterlife.git
|
||||
cd project-afterlife
|
||||
```
|
||||
|
||||
### 2. Crear archivo de entorno
|
||||
|
||||
```bash
|
||||
cp docker/.env.example docker/.env
|
||||
# Editar docker/.env con las claves necesarias
|
||||
```
|
||||
|
||||
Variables requeridas en `docker/.env`:
|
||||
```env
|
||||
# Base de datos
|
||||
DATABASE_NAME=afterlife
|
||||
DATABASE_USERNAME=afterlife
|
||||
DATABASE_PASSWORD=afterlife
|
||||
|
||||
# MinIO
|
||||
MINIO_ROOT_USER=afterlife
|
||||
MINIO_ROOT_PASSWORD=afterlife123
|
||||
|
||||
# Strapi (generar con openssl rand -base64 32)
|
||||
APP_KEYS=
|
||||
API_TOKEN_SALT=
|
||||
ADMIN_JWT_SECRET=
|
||||
TRANSFER_TOKEN_SALT=
|
||||
JWT_SECRET=
|
||||
|
||||
# API Token (crear en Strapi Admin > Settings > API Tokens)
|
||||
STRAPI_API_TOKEN=
|
||||
|
||||
# Strapi URL publica
|
||||
PUBLIC_STRAPI_URL=http://localhost:1337
|
||||
|
||||
# OpenFusion
|
||||
OPENFUSION_SHARD_IP=192.168.10.234
|
||||
```
|
||||
|
||||
### 3. Levantar servicios base
|
||||
|
||||
```bash
|
||||
cd docker
|
||||
|
||||
# Stack principal (CMS + Web + OpenFusion + Minecraft FTB)
|
||||
docker compose -f docker-compose.dev.yml up -d
|
||||
|
||||
# MapleStory 2 (requiere setup previo, ver docs/game-servers.md)
|
||||
docker compose -f docker-compose.maple2.yml up -d
|
||||
```
|
||||
|
||||
### 4. Setup inicial de Strapi
|
||||
|
||||
1. Abrir http://localhost:1337/admin
|
||||
2. Crear usuario administrador
|
||||
3. Ir a Settings > API Tokens > Create new API Token
|
||||
4. Tipo: Full access, copiar el token a `STRAPI_API_TOKEN` en `.env`
|
||||
5. Reiniciar el servicio web: `docker compose -f docker-compose.dev.yml restart web`
|
||||
|
||||
### 5. Verificar
|
||||
|
||||
- **Frontend**: http://localhost:3000
|
||||
- **CMS Admin**: http://localhost:1337/admin
|
||||
- **MinIO Console**: http://localhost:9001
|
||||
|
||||
## Documentacion Completa
|
||||
|
||||
| Documento | Descripcion |
|
||||
|-----------|------------|
|
||||
| [README.md](README.md) | Este archivo — vision general y estado |
|
||||
| [docs/architecture.md](docs/architecture.md) | Arquitectura tecnica detallada |
|
||||
| [docs/game-servers.md](docs/game-servers.md) | Setup y operacion de servidores de juegos |
|
||||
| [docs/cms-content.md](docs/cms-content.md) | Modelo de contenido CMS y documentales |
|
||||
| [docs/deployment.md](docs/deployment.md) | Guia de despliegue a produccion |
|
||||
| [docs/plans/](docs/plans/) | Documentos de diseno e implementacion |
|
||||
|
||||
## Rutas de la Web
|
||||
|
||||
| Ruta | Descripcion |
|
||||
|------|------------|
|
||||
| `/es` o `/en` | Pagina principal con hero y ultimos juegos |
|
||||
| `/es/catalog` | Catalogo de juegos con filtros |
|
||||
| `/es/about` | Sobre el proyecto |
|
||||
| `/es/donate` | Pagina de donaciones |
|
||||
| `/es/games/[slug]` | Pagina individual de juego |
|
||||
| `/es/games/[slug]/documentary` | Documental interactivo |
|
||||
|
||||
## Contenido en Base de Datos
|
||||
|
||||
### Juegos
|
||||
| Slug | Titulo | Estado | Documental |
|
||||
|------|--------|--------|------------|
|
||||
| `fusionfall` | FusionFall | Online | 7 capitulos |
|
||||
| `maplestory2` | MapleStory 2 | Online | 7 capitulos |
|
||||
| `minecraft-ftb-infinity` | Minecraft: FTB Infinity Evolved | Online | Pendiente |
|
||||
|
||||
### Documentales
|
||||
| Juego | Titulo | Capitulos |
|
||||
|-------|--------|-----------|
|
||||
| FusionFall | "El Mundo Que No Queriamos Perder" | 7 |
|
||||
| MapleStory 2 | "El Mundo Que Construimos Juntos" | 7 |
|
||||
|
||||
Cada documental tiene sus 7 capitulos publicados en ambos idiomas (ES/EN).
|
||||
|
||||
## Licencia
|
||||
|
||||
Proyecto privado. Todos los derechos reservados.
|
||||
Los emuladores de juegos utilizados son proyectos open-source independientes con sus propias licencias.
|
||||
Reference in New Issue
Block a user