diff --git a/README.md b/README.md
index 2e70b14..8adfa88 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,239 @@
-# deck-of-cards
\ No newline at end of file
+# Deck of Cards – Proyecto TFG
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Proyecto completo con backend en FastAPI + MongoDB, frontend en React + Vite, contenedores Docker, autenticación por email y Google OAuth 2.0, y sistema de cálculo DoC-MF / DoC-IT2MF.
+
+
+Incluye:
+
+- Backend en **FastAPI + MongoDB**
+- Frontend en **Vite + React**
+- Contenedores Docker para todo el proyecto
+- Sistema de historial por usuario
+- Login normal + Login con Google
+
+---
+
+# ⚡ 0. ¿En qué consiste?
+
+**Deck of Cards – TFG** es una herramienta completa diseñada para construir, validar y evaluar **funciones de pertenencia difusas** mediante el método **Deck of Cards (DoC)**, tanto en su versión **T1MF** (tipo-1) como **IT2MF** (tipo-2 intervalar).
+
+> [!INFO]
+> El sistema combina un backend robusto en **FastAPI + MongoDB**, un frontend moderno en **React + Vite**, autenticación por email y **Google OAuth 2.0**, y un sistema de historial por usuario para guardar y recuperar trabajos anteriores.
+
+---
+
+### ◻️ Objetivos del proyecto
+
+- Digitalizar el método Deck of Cards, permitiendo calcular funciones de valor y funciones de pertenencia de forma rápida, guiada y sin errores.
+- Facilitar la creación de modelos difusos para toma de decisiones, análisis multicriterio y sistemas expertos.
+- Ofrecer validación automática de núcleos, soportes y nodos para evitar inconsistencias matemáticas.
+- Permitir trabajar tanto con funciones **T1MF** como **IT2MF**, incluyendo intervalos en cartas blancas.
+- Proveer una API modular, clara y reutilizable para estudiantes, investigadores y desarrolladores.
+- Guardar el trabajo del usuario mediante un sistema de historial asociado a su cuenta.
+
+---
+
+### ◻️ ¿En qué puede ayudar a la gente?
+
+Este proyecto es especialmente útil para:
+
+- **Estudiantes** que necesiten aprender o aplicar lógica difusa y métodos de decisión.
+- **Investigadores** que requieran generar funciones de pertenencia de forma precisa y reproducible.
+- **Profesionales** que trabajen en:
+ - análisis multicriterio (MCDA)
+ - sistemas expertos
+ - inteligencia artificial explicable
+ - sistemas de recomendación
+- **Desarrolladores** que quieran integrar cálculos DoC-MF o IT2MF en sus propias aplicaciones.
+
+> [!NOTE]
+> El sistema automatiza cálculos que normalmente se realizan a mano, reduce errores y permite visualizar resultados de forma inmediata.
+
+---
+
+### ◼️ ¿Cómo se usa?
+
+1. El usuario puede (o no) iniciar sesión (email o Google OAuth).
+2. Desde el frontend puede:
+ - Crear niveles y cartas blancas
+ - Calcular funciones de valor DoC
+ - Validar funciones T1MF
+ - Construir funciones T1MF e IT2MF completas
+ - Evaluar puntos dentro de una función
+3. Cada operación puede guardarse en el **historial personal** del usuario.
+4. El backend expone endpoints claros y modulares, permitiendo integrar el sistema en otros proyectos o automatizar cálculos.
+
+
+---
+
+# 🚀 1. Requisitos previos
+
+Antes de empezar, necesitas:
+
+- **Docker** para correr el proyecto
+- **Cuenta de Google** para crear credenciales OAuth
+- **Git** para clonar el repositorio
+
+---
+
+# 📦 2. Instalación y ejecución del proyecto
+
+Clona el repositorio:
+
+```bash
+git clone https://github.com/tu-repo/deck-of-cards.git
+cd deck-of-cards
+```
+
+Levanta los contenedores:
+
+```bash
+docker compose up --build
+```
+> [!IMPORTANT]
+>Esto iniciará:
+>- Backend (python) → http://localhost:8000
+>- Frontend (react) → http://localhost:5173
+>- Base de Datos (mongodb) → puerto 27017
+
+---
+
+# 🔌 3. Endpoints principales del proyecto
+
+A continuación se resumen los endpoints más importantes del backend, organizados por funcionalidad.
+
+# **Resumen de endpoints**
+
+| Módulo | Método | Endpoint | ¿Qué hace? |
+| :--- | :--- | :--- | :--- |
+| **Auth** | `POST` | `/api/auth/register` | Registra un nuevo usuario y devuelve token + user_id. |
+| | `POST` | `/api/auth/login` | Inicia sesión con email y contraseña. |
+| | `POST` | `/api/auth/logout/{user_id}` | Cierra sesión y elimina el token del usuario. |
+| | `GET` | `/api/auth/me` | Devuelve los datos del usuario autenticado. |
+| **Google OAuth** | `GET` | `/api/auth/google/login` | Redirige a Google para iniciar sesión. |
+| | `GET` | `/api/auth/google/callback` | Recibe el código de Google y genera el token de sesión. |
+| **DoC – Función de valor** | `POST` | `/api/criteria/doc/value-function` | Calcula la función de valor DoC a partir de niveles y cartas blancas. |
+| | `POST` | `/api/criteria/doc/value-function/points` | Devuelve los puntos (x,y) de la función de valor. |
+| **T1MF – Validación** | `POST` | `/api/criteria/doc-mf/validate-simple` | Valida núcleo y soporte (sin nodos). |
+| | `POST` | `/api/criteria/doc-mf/validate` | Valida niveles completos: núcleo, soporte y nodos. |
+| **T1MF – Construcción y evaluación** | `POST` | `/api/criteria/doc-mf/build` | Construye la función de pertenencia DoC-MF. |
+| | `POST` | `/api/criteria/doc-mf/evaluate` | Evalúa un punto x dentro de una función DoC-MF. |
+| **IT2MF – Construcción** | `POST` | `/api/criteria/doc-it2mf/build` | Construye funciones IT2MF (lower y upper). |
+| **Historial** | `POST` | `/api/history/add` | Guarda un elemento en el historial del usuario. |
+| | `DELETE` | `/api/history/delete/{history_item_id}` | Elimina un elemento del historial. |
+
+
+---
+
+# 🔐 4. Configuración del archivo .env
+
+El backend necesita un archivo `.env` para funcionar correctamente, especialmente para el login con Google.
+
+📍 **Este archivo debe estar dentro de la carpeta `backend/`**, así:
+
+```
+deck-of-cards/
+│
+├── backend/
+│ ├── .env ← AQUÍ
+│ ├── main.py
+│ ├── routers/
+│ └── ...
+```
+
+Contenido mínimo del `.env`:
+
+```
+GOOGLE_CLIENT_ID=tu_client_id_de_google
+GOOGLE_CLIENT_SECRET=tu_client_secret_de_google
+```
+
+> [!WARNING]
+> No compartas esas claves.
+
+---
+
+# 🔑 5. Cómo crear GOOGLE_CLIENT_ID y GOOGLE_CLIENT_SECRET
+
+Para activar el login con Google, debes crear credenciales OAuth 2.0.
+
+### 🟦 Paso 1 — Entra en Google Cloud Console
+https://console.cloud.google.com
+
+### 🟩 Paso 2 — Crea un proyecto
+Menú superior → “Seleccionar proyecto” → “Nuevo proyecto”.
+
+### 🟧 Paso 3 — Configura la pantalla de consentimiento OAuth
+En el buscador escribe: **OAuth consent screen**
+Selecciona **External** → Rellena los datos → Guardar.
+
+### 🟨 Paso 4 — Crea las credenciales OAuth
+Menú lateral:
+**APIs & Services → Credentials → Create Credentials → OAuth Client ID**
+
+Tipo de aplicación:
+✔ **Web application**
+
+Añade este Redirect URI obligatorio:
+http://localhost:8000/api/auth/google/callback
+
+
+### 🟥 Paso 5 — Copia tus claves
+Google te mostrará:
+
+- **Client ID**
+- **Client Secret**
+
+Pégalos en tu `.env` dentro de `backend/`.
+
+---
+
+# 📚 6. Estructura del proyecto
+```
+deck-of-cards/
+│
+├── backend/ → API FastAPI + OAuth + MongoDB
+│ ├── routers/
+│ ├── models/
+│ ├── utils/
+│ ├── .env
+│ └── main.py
+│
+├── frontend/ → Vite + React
+│ ├── src/
+│ └── ...
+│
+├── docker-compose.yaml
+└── README.md
+```
+
+---
+
+# 🎉 7. Listo para usar
+
+Con esto, ya puedes:
+
+- Clonar el proyecto
+- Crear sus credenciales de Google
+- Configurar el ```.env```
+- Levantar el sistema con Docker
+- Usar login normal y login con Google
+
+Y ...
+
+¡Proyecto listo para ejecutarse en local!
+
+Gracias por llegar hasta aquí :)