Este repositorio contiene un ejemplo de documentación de un proyecto de arquitectura monolítica desacoplada, con frontend en React y backend en Java con Spring Boot, conectado a una base de datos MySQL.
Aplicación web para gestión de espacios de coworking. Permite a los usuarios registrarse, explorar oficinas disponibles, hacer reservas, y dejar favoritos. Admins pueden gestionar productos, categorías y servicios.
- React 18 + Vite
- Tailwind CSS
- Axios
- React Router
- Java 17
- Spring Boot 3.2.x
- Spring Security + JWT
- Spring Data JPA
- MySQL
- Cloudinary (para imágenes)
- Node.js 18+
- Java 17+
- MySQL
- Docker (opcional)
git clone https://github.com/usuario/coworking-app.git
cd coworking-appcd backendCREATE DATABASE coworking;cd backend
touch .env# .env
DB_URL=jdbc:mysql://localhost:3306/coworking
DB_USERNAME=root
DB_PASSWORD=123456
JWT_SECRET=clave_supersecreta
CLOUDINARY_CLOUD_NAME=nombre_cloud
CLOUDINARY_API_KEY=123456
CLOUDINARY_API_SECRET=clave./mvnw spring-boot:runEl Backend estará disponible en
http://localhost:8080
cd frontend
npm installcd frontend
touch .env# .env
VITE_API_URL=http://localhost:8080/apinpm run devLa aplicación estará disponible en
http://localhost:5173
| Método | Endpoint | Descripción | Auth |
|---|---|---|---|
| POST | /api/auth/register | Registro de usuario | ❌ |
| POST | /api/auth/login | Login y generación de JWT | ❌ |
| GET | /api/offices | Listado de oficinas | ❌ |
| POST | /api/offices | Crear oficina | ✅ (ADMIN) |
| GET | /api/offices/{id} | Detalle de oficina | ❌ |
| POST | /api/reservations | Crear reserva | ✅ |
📌 Swagger Docs disponible en:
http://localhost:8080/swagger-ui/index.html
Creado con https://dbdiagram.io
- Tests unitarios con JUnit y Mockito.
- Tests de integración con Testcontainers.
./mvnw test- Testing con Vitest + React Testing Library
npm test- Railway (https://railway.app)
- Vercel (https://vercel.com)
¿Encontraste un bug o tienes una sugerencia?
- 🐛 Reportar bug
- 💡 Solicitar feature
- 📧 Email: soporte@coworkingapp.com
