{"id":29562174,"url":"https://github.com/joel-rd/market","last_synced_at":"2025-08-02T05:06:58.439Z","repository":{"id":303669093,"uuid":"1016111519","full_name":"Joel-RD/Market","owner":"Joel-RD","description":"Market","archived":false,"fork":false,"pushed_at":"2025-07-30T05:43:00.000Z","size":1734,"stargazers_count":0,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-30T07:34:57.117Z","etag":null,"topics":["authentication","market","payments","quagga2"],"latest_commit_sha":null,"homepage":"https://market-2i01.onrender.com/register","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Joel-RD.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-07-08T14:00:43.000Z","updated_at":"2025-07-30T05:43:03.000Z","dependencies_parsed_at":"2025-07-30T07:16:20.454Z","dependency_job_id":"f691e691-b493-4c46-a5a3-e23a5fb97afb","html_url":"https://github.com/Joel-RD/Market","commit_stats":null,"previous_names":["joel-rd/market"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Joel-RD/Market","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joel-RD%2FMarket","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joel-RD%2FMarket/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joel-RD%2FMarket/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joel-RD%2FMarket/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Joel-RD","download_url":"https://codeload.github.com/Joel-RD/Market/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Joel-RD%2FMarket/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268337936,"owners_count":24234538,"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","status":"online","status_checked_at":"2025-08-02T02:00:12.353Z","response_time":74,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["authentication","market","payments","quagga2"],"created_at":"2025-07-18T17:08:49.050Z","updated_at":"2025-08-02T05:06:58.414Z","avatar_url":"https://github.com/Joel-RD.png","language":"JavaScript","funding_links":["https://developer.paypal.com/","https://www.sandbox.paypal.com/"],"categories":[],"sub_categories":[],"readme":"# ➡️**Proyecto Supermercado**\r\n\r\n- Este proyecto es una aplicación web para la gestión de un supermercado. La aplicación permite a los usuarios registrarse, iniciar sesión, realizar compras, y gestionar productos y ventas. Está construida utilizando Node.js, Express, y PostgreSQL, y utiliza Handlebars como motor de plantillas para la interfaz de usuario.\r\n\r\n## 📹 **Video de presentación**\r\n\r\n* [Inicio de sesión](https://www.youtube.com/embed/wOTfcEfk33Q)\r\n* [Pagar con PayPal](https://www.youtube.com/embed/xbfm7xwqmQM)\r\n* [Actualizar nombre de usuario](https://www.youtube.com/embed/e7omqwhBpHA)\r\n\r\n## 🗃️ **Archivos y Directorios Principales**\r\n\u003e **.env:** Variables de entorno.\r\n\u003e\r\n\u003e **package.json:** Dependencias y scripts.\r\n\u003e\r\n\u003e **src:** Código fuente.\r\n\u003e\r\n\u003e **controller/:** Controladores.\r\n\u003e\r\n\u003e **index.js:** Configuración del servidor.\r\n\u003e\r\n\u003e **server.js** Arranque del servidor\r\n\u003e\r\n\u003e **models/:** Modelos y scripts SQL.\r\n\u003e\r\n\u003e **routers/:** Enrutadores.\r\n\u003e\r\n\u003e **utils/:** Utilidades.\r\n\u003e\r\n\u003e **views/:** Vistas y archivos estáticos.\r\n\r\n#### 🔑 **ENV**\r\n\u003e\r\n\u003e  **LIVE_PAYPAL_LINK:** Enlace a la API de PayPal en producción.\r\n\u003e\r\n\u003e **SANDBOX_PAYPAL_LINK:** Enlace a la API de PayPal en sandbox.\r\n\u003e\r\n\u003e **CLIENT_ID_PAYPAL:** ID del cliente de PayPal.\r\n\u003e\r\n\u003e **CLIENT_ID_PAYPAL_LIVE:** ID del cliente de PayPal en producción.\r\n\u003e\r\n\u003e **CLIENT_SECRET_KEY_PAYPAL:** Clave secreta del cliente de PayPal.\r\n\u003e\r\n\u003e **CLIENT_SECRET_KEY_PAYPAL_LIVE:** Clave secreta del cliente de PayPal en producción.\r\n\u003e\r\n\u003e **CLOUD_DB_URL:** URL de la base de datos en la nube.\r\n\u003e\r\n\u003e **LOCAL_DB_URL:** URL de la base de datos local.\r\n\u003e\r\n\u003e **NODE_ENV:** Entorno de la aplicación ('development' o 'production').\r\n\u003e\r\n\u003e **PORT_SERVER:** Puerto de escucha del servidor.\r\n\u003e\r\n\u003e **SECRET_TOKEN_JWT:** Clave secreta para la generación de tokens JWT.\r\n\u003e\r\n\u003e **SECRET_PASSWORD_EMAIL:** Clave secreta para la generación de contraseñas de email.\r\n\u003e\r\n\u003e **SECRET_EMAIL:** Email de la cuenta de email de la aplicación.\r\n\r\n\u003e\u003e \u003cspan style=\"color: rgb(255, 0, 0);\"\u003e**Notas:**\u003c/span\u003e\r\n\u003e para que el proyecto funcione es necesario configurar las API KEY  Y SECRET KEY de PayPal , para saber mas de la API de PayPal puedes consultar la documentación oficial de PayPal.[PayPal Docs](https://developer.paypal.com/), y [PayPal Sandbox](https://www.sandbox.paypal.com/) para probar la API de PayPal.\r\n\u003e\u003e\r\n\u003e\u003e Ademas debe generar una clave secreta para el email, para que funcione el envio de email, para saber mas hacerca de esto puedes consultar la documentación oficial de Gmail.[¿Ques es una clave de aplicación en Gmail?](https://support.google.com/mail/answer/185833?hl=es-419#:~:text=Una%20contrase%C3%B1a%20de%20la%20aplicaci%C3%B3n,Verificaci%C3%B3n%20en%202%20pasos%20activada.), Usualmente la contraseña para la coneccion con cuentas de gmail es: [esta](https://myaccount.google.com/apppasswords?continue=https://myaccount.google.com/security?hl%3Den%26utm_source%3DOGB%26utm_medium%3Dact%26gar%3DWzBd\u0026rapt=AEjHL4N0-g1FQx_6quW3VbsRTBblXUvaSBpKJQPts-ceH6xRqhIw19TYqnjbvP-nyksCfqhK0ejfUQA2A05AU2mGJojQAPFve1T-l_nqvTvkKu83sxmyhZQ)\r\n\r\n## 🛠️ **Instalación**\r\n - \u003cspan style=\"color:rgb(0, 255, 234);\"\u003e**Dependencias**\u003c/span\u003e \r\n```bash\r\n## Instalar las dependencias\r\nnpm install\r\n```\r\n\r\n```bash\r\n## Actualizar las dependencias\r\nnpm update\r\n```\r\n\r\n```bash\r\n## Iniciar el servidor de desarrollo\r\nnpm run start\r\n```\r\n\r\n```bash\r\n## Iniciar el servidor de produccion\r\nnpm run build\r\n```\r\n- \u003cspan style=\"color:rgb(0, 255, 234);\"\u003e**Base de Datos (PostgreSQL)**\u003c/span\u003e \r\n ```bash\r\n## Tener instalado PostgreSQL y agregado al PATH del sistema.\r\n```\r\n\r\n```bash\r\n## Iniciar PostrgesSQL\r\npsql -U postgres\r\nPassword: (Tu contrseña de PostgreSQL)\r\n```\r\n\r\n```bash\r\n## Crear la base de datos y las tablas necesarias\r\nLuego de instroducir la contraseña de PostgreSQL, ejecutar el siguiente comando para crear la base de datos y las tablas necesarias:\r\n \r\nTodo el esquema nesecario para el proyecto se encuentra en el archivo src/models/db.sql.\r\n```\r\n\r\n## 🚀 **Rutas (EndPoints)**\r\n- \u003cspan style=\"color:rgb(0, 255, 234);\"\u003e**Rutas de Autenticación**\u003c/span\u003e \r\n\r\n\u003e **/home | Post\u0026Get:** Ruta de inicio de sesión, crear un usuario y iniciar sesión.\r\n\u003e\r\n\u003e **/singup | Post:** Ruta para registrar un nuevo usuario.\r\n\u003e\r\n\u003e **/singin | Post:** Ruta para iniciar sesión.\r\n\u003e\r\n\u003e **/logout | Post:** Ruta para cerrar la sesión del usuario.\r\n\u003e\r\n\u003e **/emailverify** | Post\u0026Get:** Ruta para verificar el correo del usuario.\r\n\u003e\r\n\r\n- \u003cspan style=\"color:rgb(0, 255, 234);\"\u003e**Rutas de Administración**\u003c/span\u003e \r\n\r\n\u003e **/adminpanel | Get:** Mostrar el panel de administración.\r\n\u003e\r\n\u003e **/shop | Get:** Mostrar la tienda.\r\n\u003e\r\n\u003e **/config | Get:** Mostrar la configuración del usuario.\r\n\u003e\r\n\u003e **/user/config/update | Post:** Actualizar la configuración del usuario.\r\n\u003e\r\n\u003e **/shop/scan/:id | Post:** Escanear el producto y obtener su información.\r\n\u003e\r\n\u003e **/sales | Get:** Mostrar las ventas del usuario.\r\n\r\n## 📄 Licencia\r\nEste proyecto está bajo la Licencia MIT. Consulta el archivo LICENSE para más detalles.\r\n\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoel-rd%2Fmarket","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoel-rd%2Fmarket","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoel-rd%2Fmarket/lists"}