{"id":23228989,"url":"https://github.com/barcodehub/coffeeflask","last_synced_at":"2025-08-19T15:31:01.489Z","repository":{"id":249695967,"uuid":"727049064","full_name":"Barcodehub/CoffeeFlask","owner":"Barcodehub","description":"SystemCoffee is a web application for managing cafés, featuring sales, reservations, menus, table billing, and an admin panel for users with roles like admin, waiter, and customer.","archived":false,"fork":false,"pushed_at":"2024-11-26T15:15:20.000Z","size":40934,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-11-26T16:25:19.508Z","etag":null,"topics":["bill-management","cafe-management","cafeteria","flask-application","html-css","login-system","mysql-database","reservation-system","roles-management","roles-privileges","sales-management"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Barcodehub.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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}},"created_at":"2023-12-04T04:29:31.000Z","updated_at":"2024-11-26T15:16:24.000Z","dependencies_parsed_at":"2024-07-22T20:37:47.094Z","dependency_job_id":"3b9f58a1-dd19-462d-9dd7-f99a34f8ce68","html_url":"https://github.com/Barcodehub/CoffeeFlask","commit_stats":null,"previous_names":["barcodehub/coffeeflask"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Barcodehub%2FCoffeeFlask","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Barcodehub%2FCoffeeFlask/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Barcodehub%2FCoffeeFlask/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Barcodehub%2FCoffeeFlask/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Barcodehub","download_url":"https://codeload.github.com/Barcodehub/CoffeeFlask/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":230359873,"owners_count":18214159,"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":["bill-management","cafe-management","cafeteria","flask-application","html-css","login-system","mysql-database","reservation-system","roles-management","roles-privileges","sales-management"],"created_at":"2024-12-19T01:15:49.649Z","updated_at":"2024-12-19T01:15:50.185Z","avatar_url":"https://github.com/Barcodehub.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# SystemCoffee\n\n## Table of Contents\n\n1. [Project Overview](#project-overview)\n2. [Endpoints API](#endpoints-api)\n   1. [Nosotros](#nosotros)\n   2. [Historia](#historia)\n   3. [Productos](#productos)\n   4. [Usuarios](#usuarios)\n   5. [Mesas](#mesas)\n   6. [Reservas](#reservas)\n   7. [Carrito](#carrito)\n   8. [Facturas](#facturas)\n3. [Installation and Setup](#installation-and-setup)\n   1. [Requisitos previos](#requisitos-previos)\n   2. [Pasos de instalación](#pasos-de-instalación)\n4. [Documentación Adicional](#documentación-adicional)\n5. [Demostración](#demostración)\n\n---\n\n# Project Overview\n\nEste proyecto es una aplicación web dinámica diseñada para gestionar varios aspectos de una cafeteria, incluyendo la administración de usuarios, productos, mesas, reservas, y facturación. Ofrece un flujo completo para usuarios autenticados, desde agregar productos a un carrito hasta completar un proceso de checkout con generación de facturas en PDF.\n\n## Características principales:\n- Gestión dinámica de secciones como \"Nosotros\" e \"Historia\".\n- CRUD para usuarios, productos, mesas y reservas.\n- Carrito de compras integrado con proceso de pago y generación de facturas.\n- Administración de menú y categorías de productos\n- Funcionalidades específicas para roles administrativos, como liberar mesas y generar reportes.\n- Recuperación y actualización de contraseñas con tokens seguros.\n- API modular basada en Flask, con endpoints organizados para facilitar futuras expansiones.\n\n## Tecnologías utilizadas:\n- **Backend:** Flask (Python).\n- **Base de datos:** MySQL.\n- **Frontend:** Jinja2 para plantillas dinámicas.\n- **Dependencias adicionales:** Generación de PDFs, conexión segura a bases de datos y manejo de sesiones.\n\n# Endpoints API\n\n## Nosotros\n- **GET** `/mi-nosotros`: Muestra la lista de información de \"Nosotros\".\n- **GET** `/editar-nosotros/\u003cint:id\u003e`: Carga el formulario para editar un elemento específico de \"Nosotros\".\n- **POST** `/actualizar-nosotro`: Recibe datos para actualizar un elemento de \"Nosotros\".\n\n## Historia\n- **GET** `/mi-historia`: Muestra la información de \"Historia\".\n- **GET** `/editar-historia/\u003cint:id_titulos\u003e/\u003cint:id_imagenes\u003e/\u003cint:id_parrafos\u003e`: Carga el formulario para editar la \"Historia\".\n- **POST** `/actualizar-historia`: Actualiza la información de la \"Historia\".\n\n## Productos\n- **GET** `/registrar-producto`: Carga el formulario para registrar un producto.\n- **POST** `/form-registrar-producto`: Recibe datos para registrar un nuevo producto.\n- **GET** `/lista-de-productos`: Lista todos los productos disponibles.\n- **POST** `/buscando-producto`: Busca productos en la base de datos.\n- **GET** `/editar-producto/\u003cint:id\u003e`: Carga el formulario para editar un producto específico.\n- **POST** `/actualizar-producto`: Actualiza los datos de un producto.\n- **GET** `/borrar-producto/\u003cstring:id_producto\u003e/\u003cstring:foto_producto\u003e`: Elimina un producto y su imagen asociada.\n\n## Usuarios\n- **GET** `/lista-de-usuarios`: Lista todos los usuarios registrados.\n- **GET** `/editar-usuario/\u003cint:id\u003e`: Carga el formulario para editar un usuario específico.\n- **POST** `/actualizar-usuario`: Actualiza los datos de un usuario.\n- **GET** `/borrar-usuario/\u003cstring:id\u003e`: Elimina un usuario.\n- **POST** `/buscando-usuario`: Busca usuarios en la base de datos.\n\n## Mesas\n- **GET** `/registrar-mesa`: Carga el formulario para registrar una mesa.\n- **POST** `/form-registrar-mesa`: Recibe datos para registrar una nueva mesa.\n- **GET** `/lista-de-mesas`: Lista todas las mesas disponibles.\n- **POST** `/buscando-mesa`: Busca mesas en la base de datos.\n- **GET** `/editar-mesa/\u003cint:id\u003e`: Carga el formulario para editar una mesa específica.\n- **POST** `/actualizar-mesa`: Actualiza los datos de una mesa.\n- **GET** `/borrar-mesa/\u003cstring:id_mesa\u003e`: Elimina una mesa.\n\n## Reservas\n- **GET** `/lista-de-reservas`: Lista todas las reservas.\n- **GET** `/lista-de-reservasUser`: Lista reservas específicas de un usuario.\n- **POST** `/form-registrar-reserva`: Registra una nueva reserva.\n- **GET** `/liberar-mesa/\u003cint:id_mesa\u003e`: Libera una mesa ocupada.\n\n## Carrito\n- **GET** `/agregar-al-carrito/\u003cint:id_producto\u003e`: Agrega un producto al carrito.\n- **GET** `/carrito`: Muestra el contenido del carrito.\n- **POST** `/actualizar_cantidad/\u003cint:id_producto\u003e`: Actualiza la cantidad de un producto en el carrito.\n- **GET** `/eliminar_del_carrito/\u003cint:id_producto\u003e`: Elimina un producto del carrito.\n\n## Facturas\n- **GET** `/lista-de-facturas`: Lista todas las facturas.\n- **GET** `/factura_exito/\u003cint:factura_id\u003e`: Muestra el detalle de una factura específica.\n- **GET** `/factura_pdf/\u003cint:factura_id\u003e`: Genera un PDF de una factura.\n\n# Installation and Setup\n\n## Requisitos previos\n1. **Python 3.8.5** (especificado en `runtime.txt`).\n2. **MySQL Server** instalado y configurado.\n3. Administrador de paquetes `pip` para instalar las dependencias desde `requirements.txt`.\n\n## Pasos de instalación\n\n1. **Clonar el repositorio**:\n   ```bash\n   git clone https://github.com/Barcodehub/CoffeeFlask.git\n   ```\n   \n2. **Instalar las dependencias: Asegúrate de estar en un entorno virtual antes de instalar**:\n\n   ```bash\n   python -m venv venv\n   venv\\Scripts\\activate\n   pip install -r requirements.txt\n   ```\n3. **Configurar las variables de entorno: Crea un archivo .env en la raíz del proyecto con el siguiente contenido**:\n\n   ```bash\n   DB_HOST=localhost\n   DB_USER=tu_usuario\n   DB_PASSWORD=tu_contraseña\n   DB_NAME=nombre_de_la_base_datos\n   DB_PORT=3306\n   SECRET_KEY=clave_secreta_segura\n   ```\nAsegúrate de reemplazar tu_usuario, tu_contraseña, y nombre_de_la_base_datos con las credenciales correctas.\n\n4. **Configurar la base de datos**:\n\n- Crea la base de datos en MySQL.\n- Ejecutar la aplicación en localhost\n\nLa aplicación estará disponible en http://localhost:5000.\n\n6. **(Opcional) entorno de producción**: La aplicación está lista para ser desplegada en un entorno de producción como Railway\n\n## Documentación Adicional\n\nLa documentación completa del proyecto está disponible en [este PDF](./my-app/static/Documentacion.docx.pdf).\n\n## Demostración\n\nPara ver una demostración de la aplicación en funcionamiento, puedes ver este video:\n\n[![SystemCoffee](https://img.youtube.com/vi/OsYlgKAi5ZA/0.jpg)](https://www.youtube.com/watch?v=OsYlgKAi5ZA)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarcodehub%2Fcoffeeflask","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbarcodehub%2Fcoffeeflask","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbarcodehub%2Fcoffeeflask/lists"}