Skip to content

Repository files navigation

📝 Posts SPA — Single Page Application con autenticación JWT

JavaScript PHP JWT HTML5 CSS3

Aplicación web de tipo Single Page Application (SPA) para la gestión de publicaciones, con autenticación de usuarios mediante JWT implementado manualmente en PHP y consumo de API REST asíncrona con Fetch API.


📋 Descripción

Aplicación fullstack desarrollada sin frameworks, que implementa desde cero el patrón SPA con navegación sin recarga de página. El backend expone una API REST en PHP que gestiona la autenticación con tokens JWT y las operaciones CRUD sobre publicaciones. El frontend consume dicha API mediante peticiones asíncronas con Fetch API, gestionando el estado de sesión a través del token almacenado en el cliente.


⚙️ Tecnologías

Capa Tecnologías
Frontend JavaScript (ES6+) · HTML5 · CSS3 · Fetch API
Backend PHP · API REST · JWT manual
Autenticación JSON Web Tokens (implementación propia)

✨ Funcionalidades

🔐 Autenticación

  • Registro de nuevos usuarios
  • Login con generación de token JWT desde el servidor PHP
  • Logout con invalidación del token en cliente
  • Sesión persistente mediante JWT almacenado en el cliente

📄 Gestión de Publicaciones

Acción Requiere login
Consultar listado paginado ❌
Ver detalle de una publicación ❌
Crear nueva publicación ✅
Editar publicación existente ✅
Eliminar publicación ✅

🔄 SPA sin frameworks

  • Navegación entre vistas sin recarga de página
  • Renderizado dinámico del DOM con JavaScript vanilla
  • Gestión del estado de autenticación en el cliente

🚀 Instalación y uso

Requisitos

  • PHP 8.x o superior
  • Servidor web local (XAMPP, Laragon, MAMP...)
  • MySQL

Pasos

# 1. Clona el repositorio
git clone https://github.com/Raul-Labrador/Trabajo-SPA.git
cd Trabajo-SPA

# 2. Importa la base de datos
# Importa el archivo database.sql desde tu cliente MySQL (phpMyAdmin o CLI)
mysql -u root -p nombre_bd < database.sql

# 3. Configura la conexión a la base de datos
# Edita el archivo de configuración con tus credenciales
cp config.example.php config.php
# → Introduce tu host, usuario, contraseña y nombre de BD

# 4. Lanza el servidor
# Coloca el proyecto en la carpeta htdocs (XAMPP) o www (Laragon)
# y accede desde tu navegador a:
http://localhost/Trabajo-SPA

👨‍💻 Contexto académico

Proyecto desarrollado para la asignatura Desarrollo Web en Entorno Servidor (DWES) del Grado Superior de Desarrollo de Aplicaciones Web (DAW).

El objetivo era demostrar el dominio de la arquitectura SPA, la implementación de autenticación stateless con JWT y el consumo de una API REST propia, todo ello sin el uso de frameworks externos.

About

Aplicación web SPA con autenticación JWT, CRUD de publicaciones en Laravel

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages