Página web dedicada a la creación de personajes de rol, incluyendo varias razas, subrazas y clases de distintos juegos ya creados.
Permite a los usuarios crear personajes personalizados, ya sea utilizando clases y roles de juegos ya creados como clases personalizadas.
- Creación de personajes de rol.
- Selección de razas y subrazas.
- Selección de clases y subclases.
- Personalización de habilidades y atributos.
- Búsqueda y filtrado de personajes.
- Python 3.13.1 para el desarrollo.
- FastAPI para el backend.
- PostgreSQL como base de datos.
- SQLAlchemy para la gestión de la base de datos.
- Pydantic para la validación de datos.
- Alembic para la migración de la base de datos.
- pytest para las pruebas unitarias.
- httpx para las pruebas de integración.
-
Clona el repositorio:
git clone https://github.com/Joseleelsuper/RoleplayingCharacters.git
-
Navega al directorio del proyecto:
cd RoleplayingCharacters -
Crea un entorno virtual:
- En Windows:
python -m venv venv venv\Scripts\activate
- En macOS/Linux:
python3 -m venv venv source venv/bin/activate
- En Windows:
-
Instala las dependencias:
pip install -r requirements.txt
-
Configura las variables de entorno:
cp .env.example .env # Edita el archivo .env con tus configuraciones -
Ejecuta la aplicación:
python run.py
O alternativamente:
uvicorn src.index:app --reload --host 127.0.0.1 --port 8000
-
Abre tu navegador y ve a
http://localhost:8000para ver la aplicación.
Para ejecutar las pruebas:
# Ejecutar todas las pruebas
pytest
# Ejecutar pruebas con verbose
pytest -v
# Ejecutar solo las pruebas de endpoints
pytest tests/test_endpoints.pyRoleplayingCharacters/
├── src/
│ ├── domain/ # Entidades y lógica de dominio
│ ├── application/ # Casos de uso y lógica de aplicación
│ ├── infrastructure/ # Implementaciones específicas y endpoints
│ │ ├── web/ # Controladores HTTP
│ │ └── config.py # Configuración de la aplicación
│ └── index.py # Punto de entrada de la aplicación
├── tests/ # Pruebas unitarias e integración
├── templates/ # Plantillas HTML (futuro)
├── requirements.txt # Dependencias Python
├── run.py # Script de inicio
└── .env.example # Ejemplo de variables de entorno
Este proyecto tiene 3 licencias y cada una se encarga de proteger diferentes aspectos del proyecto:
- MIT License en LICENSE: Protege el código fuente y permite su uso, modificación y distribución.
- CC BY-NC-SA 4.0 en LICENSE-CC-BY-SA: Protege a los personajes de los usuarios, su contenido y permite su uso no comercial, siempre que se atribuya al autor original y se comparta bajo la misma licencia.
- OGL-1.0a en LICENSE-OGL: Permite utilizar las razas estándar de los juegos de rol, como Dungeons & Dragons, y sus subrazas, siempre que se atribuya a Wizards of the Coast.