{"id":28645052,"url":"https://github.com/jc-dev-ec/sistema-para-cine","last_synced_at":"2025-08-17T18:06:15.365Z","repository":{"id":298871509,"uuid":"980835682","full_name":"JC-DEV-EC/Sistema-para-cine","owner":"JC-DEV-EC","description":"CineReservas es un sistema completo de gestión y reserva de entradas para cines que permite a los usuarios ver la cartelera, seleccionar películas, elegir asientos y gestionar sus reservas. El sistema está compuesto por un backend desarrollado en Spring Boot con Java y un frontend moderno creado con React, TypeScript y Material UI.","archived":false,"fork":false,"pushed_at":"2025-05-10T04:17:27.000Z","size":307,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-13T10:59:28.751Z","etag":null,"topics":["axios","date-fns","java17","lombok","material-ui","maven","postgresql","react19","reactrouterdom7","spring-boot-3","springdata-jpa","springsecurity","typescript"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JC-DEV-EC.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-05-09T19:53:53.000Z","updated_at":"2025-05-10T17:31:55.000Z","dependencies_parsed_at":"2025-06-13T10:59:33.156Z","dependency_job_id":"51f7f36f-44c4-4c0e-82be-1db4d51464e3","html_url":"https://github.com/JC-DEV-EC/Sistema-para-cine","commit_stats":null,"previous_names":["jc-dev-ec/sistema-para-cine"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JC-DEV-EC/Sistema-para-cine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JC-DEV-EC%2FSistema-para-cine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JC-DEV-EC%2FSistema-para-cine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JC-DEV-EC%2FSistema-para-cine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JC-DEV-EC%2FSistema-para-cine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JC-DEV-EC","download_url":"https://codeload.github.com/JC-DEV-EC/Sistema-para-cine/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JC-DEV-EC%2FSistema-para-cine/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263819193,"owners_count":23516121,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["axios","date-fns","java17","lombok","material-ui","maven","postgresql","react19","reactrouterdom7","spring-boot-3","springdata-jpa","springsecurity","typescript"],"created_at":"2025-06-13T00:31:49.674Z","updated_at":"2025-07-05T23:07:37.919Z","avatar_url":"https://github.com/JC-DEV-EC.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# CineReservas - Sistema de Reservas para Cine\n\n![CineReservas Banner](https://images.unsplash.com/photo-1489599849927-2ee91cede3ba?q=80\u0026w=1200\u0026h=400\u0026auto=format\u0026fit=crop)\n\n## 📝 Descripción\n\nCineReservas es un sistema completo de gestión y reserva de entradas para cines que permite a los usuarios ver la cartelera, seleccionar películas, elegir asientos y gestionar sus reservas. El sistema está compuesto por un backend desarrollado en Spring Boot con Java y un frontend moderno creado con React, TypeScript y Material UI.\n\n## ✨ Características Principales\n\n- **Gestión de Películas**: Catálogo completo con información detallada\n- **Cartelera Dinámica**: Visualización de funciones por día, sala y género\n- **Selección de Asientos**: Sistema interactivo para elegir asientos\n- **Reservas en Tiempo Real**: Proceso de reserva fácil e intuitivo\n- **Panel de Administración**: Gestión de salas, butacas y funciones\n- **Diseño Responsive**: Experiencia óptima en todos los dispositivos\n\n## 🛠️ Tecnologías\n\n### Backend\n- **Java 17**\n- **Spring Boot 3.4.5**\n- **Spring Security**\n- **Spring Data JPA**\n- **PostgreSQL**\n- **Maven**\n- **Lombok**\n\n### Frontend\n- **React 19**\n- **TypeScript**\n- **Material UI 7**\n- **React Router DOM 7**\n- **Axios**\n- **Date-fns**\n\n## 📋 Requisitos Previos\n\nPara ejecutar el proyecto necesitarás:\n\n- JDK 17+\n- Node.js 18+\n- npm o yarn\n- PostgreSQL 14+\n\n## 🚀 Instalación y Configuración\n\n### Base de Datos\n1. Crea una base de datos PostgreSQL llamada `cinereservas`\n2. El script inicial se encuentra en `backend/src/main/resources/db/init.sql`\n\n### Backend\n1. Navega a la carpeta del backend:\n   ```bash\n   cd backend\n   ```\n\n2. Copia y modifica el archivo de propiedades (si es necesario):\n   ```bash\n   # El archivo está en src/main/resources/application.properties\n   # Configura la conexión a la base de datos según tu entorno\n   ```\n\n3. Compila y ejecuta la aplicación:\n   ```bash\n   ./mvnw spring-boot:run\n   ```\n   \n   En Windows:\n   ```bash\n   mvnw.cmd spring-boot:run\n   ```\n\n### Frontend\n1. Navega a la carpeta del frontend:\n   ```bash\n   cd frontend\n   ```\n\n2. Instala las dependencias:\n   ```bash\n   npm install\n   # o\n   yarn install\n   ```\n\n3. Inicia la aplicación:\n   ```bash\n   npm start\n   # o\n   yarn start\n   ```\n\n4. Abre [http://localhost:3000](http://localhost:3000) en tu navegador.\n\n## 📱 Uso del Sistema\n\n### Flujo de Usuario\n1. Explora la cartelera de películas\n2. Selecciona una película para ver detalles\n3. Elige una función (fecha y hora)\n4. Selecciona asientos disponibles\n5. Introduce tus datos personales\n6. Confirma la reserva\n7. Gestiona tus reservas desde la sección \"Mis Reservas\"\n\n### Panel de Administración\n1. Accede a las secciones de administración\n2. Gestiona la cartelera de funciones\n3. Administra salas y butacas\n4. Visualiza y edita reservas\n\n## 📂 Estructura del Proyecto\n\n```\ncinereservas/\n├── backend/               # API REST con Spring Boot\n│   ├── src/main/java/     # Código fuente Java\n│   ├── src/main/resources/ # Recursos y configuraciones\n│   └── pom.xml            # Dependencias Maven\n│\n└── frontend/              # Cliente web con React\n    ├── public/            # Archivos estáticos\n    ├── src/               # Código fuente React/TypeScript\n    │   ├── components/    # Componentes React\n    │   ├── context/       # Context API\n    │   ├── services/      # Servicios para la API\n    │   └── App.tsx        # Componente principal\n    ├── package.json       # Dependencias NPM\n    └── tsconfig.json      # Configuración TypeScript\n```\n\n## 🧪 Pruebas\n\n### Backend\n```bash\ncd backend\n./mvnw test\n```\n\n### Frontend\n```bash\ncd frontend\nnpm test\n# o\nyarn test\n```\n\n## 🔧 Endpoints API\n\nEl backend expone los siguientes endpoints principales:\n\n- **Películas**: `/api/movies`\n- **Salas**: `/api/rooms`\n- **Butacas**: `/api/seats`\n- **Cartelera**: `/api/billboards`\n- **Clientes**: `/api/customers`\n- **Reservas**: `/api/bookings`\n\nPara más detalles, consulta la documentación completa de la API en `http://localhost:8080/swagger-ui.html` cuando el backend esté en ejecución.\n\n## 👥 Contribuciones\n\nLas contribuciones son bienvenidas. Para cambios importantes, abre primero un issue para discutir lo que te gustaría cambiar.\n\n## 📄 Licencia\n\nEste proyecto está bajo licencia MIT. Consulta el archivo [LICENSE](https://github.com/JC-DEV-EC/Sistema-para-cine/blob/main/LICENSE).  para más detalles.\n\n## 📞 Contacto\n\nPara cualquier consulta o sugerencia, puedes contactarme a través de:\n\n- GitHub: [JC-DEV-EC](https://github.com/JC-DEV-EC)\n- Email: [jassergerardoc@gmail.com]\n\n---\n\nDesarrollado con ❤️ por [JC-DEV-EC]\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjc-dev-ec%2Fsistema-para-cine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjc-dev-ec%2Fsistema-para-cine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjc-dev-ec%2Fsistema-para-cine/lists"}