{"id":21368603,"url":"https://github.com/pblnahu1/FinanceAppWithAuth","last_synced_at":"2025-07-13T05:32:18.247Z","repository":{"id":250762897,"uuid":"833285117","full_name":"pblnahu1/gestor-de-finanzas-project","owner":"pblnahu1","description":"Proyecto FullStack de Gestor de Finanzas #EnProceso","archived":false,"fork":false,"pushed_at":"2024-08-28T17:06:57.000Z","size":100,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2024-08-28T18:44:36.280Z","etag":null,"topics":["axios","cors","expressjs","mysql","nodejs","reactjs","tailwindcss"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/pblnahu1.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":"2024-07-24T18:12:08.000Z","updated_at":"2024-08-28T17:07:00.000Z","dependencies_parsed_at":"2024-08-28T18:31:53.660Z","dependency_job_id":"786b0382-5a25-4efc-98c8-99818ab7a93e","html_url":"https://github.com/pblnahu1/gestor-de-finanzas-project","commit_stats":null,"previous_names":["pblnahu1/gestor-de-finanzas-project"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pblnahu1%2Fgestor-de-finanzas-project","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pblnahu1%2Fgestor-de-finanzas-project/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pblnahu1%2Fgestor-de-finanzas-project/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pblnahu1%2Fgestor-de-finanzas-project/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pblnahu1","download_url":"https://codeload.github.com/pblnahu1/gestor-de-finanzas-project/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225858865,"owners_count":17535488,"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","cors","expressjs","mysql","nodejs","reactjs","tailwindcss"],"created_at":"2024-11-22T07:25:26.433Z","updated_at":"2025-07-13T05:32:18.242Z","avatar_url":"https://github.com/pblnahu1.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Gestor de Finanzas con Autenticación de Usuarios JWT en Node.js y React\n## Descripción\nEsta aplicación permite a los usuarios gestionar sus gastos con autenticación basada en JSON Web Tokens (JWT). Los usuarios pueden registrarse, iniciar sesión y acceder a un Dashboard seguro para administrar sus finanzas.\n\n## Tecnologías utilizadas\n### Frontend\n- React con Vite \n- TailwindCSS + DaisyUI\n- Axios para comunicación con el backend\n\n### Backend\n- Node.js + Express.js \n- PostgreSQL (base de datos) con Docker\n- Bcrypt para encriptación de contraseñas\n- JWT para autenticación segura\n\n### Herramientas adicionales\n- Docker y Docker Compose para contenerización\n- Nodemon para recarga automática de desarrollo\n- Multer para manejo de archivos\n- Nodemailer para envío de correos electrónicos\n\n## Instalación y Configuración\n### Requisitos previos\nAntes de comenzar, asegurate de tener instalado:\n- Node.js (incluye npm)\n- PostgreSQL\n- Docker y Docker Compose\n- Git\n- Visual Studio Code o cualquier editor de código que uses\n\n## Instalación (ver el archivo `backend/config/db.js`)\nClonar el repositorio\n```bash\ngit clone https://github.com/pblnahu1/gestor-de-finanzas-project\ncd gestor-de-finanzas-project\n```\n\n### Docker \n1. En el root del proyecto verás el archivo `docker-compose.yml`. Ese es el archivo que ejecutarás para instalar los servicios, imágenes, contenedores, etc.\n  - En el root del proyecto, abre tu terminal y ejecuta:\n    - `docker-compose up --build`\n    - Una vez que ejecutaste esto, se crearán contenedores para cada servicio y su correspondiente ejecución.\n    - Para ver los logs de algún contenedor:\n      - `docker logs 'nombre o id del container'`\n\n### Local\n1. `Backend`: Instalar las dependencias\n```bash\ncd backend \nnpm install\n```\n2. `Client`: Instalar las dependencias\n```bash\ncd client\nnpm install\n```\n3. Iniciar el servidor desde `/backend` y `/client`\n```bash\nnpm run dev\n# Correrá el servidor en localhost:3001 y localhost:5173 para client junto con la base de datos postgres ya creada desde docker compose\n```\n\n## Instalaciones del Backend\n- `express` | `npm install express` | Framework minimalista para crear servidores y gestionar rutas HTTP en Node.js.\n- `bcrypt` | `npm install bcrypt` | Biblioteca para encriptar contraseñas y validarlas de manera segura.\n- `body-parser` | `npm install body-parser` | Middleware para analizar datos del cuerpo de las solicitudes HTTP.\n- `cookie-parser` | `npm install cookie-parser` | Middleware para manejar cookies en las solicitudes HTTP.\n- `cors` | `npm install cors`  | Habilita solicitudes entre diferentes dominios (Cross-Origin Resource Sharing).\n- `dotenv` | `npm install dotenv` | Carga variables de entorno desde un archivo `.env` al entorno de ejecución.\n- `fs` | `npm install fs` | Biblioteca para trabajar con el sistema de archivos en Node.js.\n- `jsonwebtoken` | `npm install jsonwebtoken` | Genera y verifica JSON Web Tokens (JWT) para autenticación.\n- `multer` | `npm install multer` | Middleware para manejar la subida de archivos en solicitudes HTTP.\n- `nodemon` | `npm install nodemon` | Herramienta para reiniciar automáticamente el servidor al detectar cambios en el código.\n- `path` | `npm install path` | Biblioteca para trabajar con rutas de archivos y directorios.\n- `pg` | `npm install pg` | Librería para interactuar con bases de datos PostgreSQL desde Node.js.\n- `nodemailer` | `npm install nodemailer` | Librería para enviar correos electrónicos fácilmente.\n\n### Instalaciones del Frontend\n- Iniciar aplicación React\n```bash\nnpm run dev\n# Levanta la App en localhost:5173\n```\n- Librerías / Frameworks:\n1. Tener instalado Node JS: https://nodejs.org/es/\n2. Para instalar Tailwind CSS:\n```bash\nnpm install -D tailwindcss postcss autoprefixer\nnpx tailwindcss init -p\n```\n- Esto crea los archivos `tailwind.config.js` y `postcss.config.js`\n- En `tailwind.config.js` agregar en 'content' esto:\n```js\ncontent: [\n  \"./index.html\",\n  \"./src/**/*.{js,ts,jsx,tsx}\",\n],\n```\n3. Instalar daisyUI como un paquete npm:\n```npm i -D daisyui@latest```\n- Agregar daisyUI a tailwind.config.js:\n```js\nimport daisyui from \"daisyui\"\nmodule.exports = {\n  //...\n  plugins: [\n    daisyui,\n  ],\n}\n```\n4. Tener instalado React Router\n```bash\nnpm install react-router-dom\n```\n5. Paquete recharts\n```bash \nnpm install recharts\n```\n6. Axios\n```bash\nnpm install axios\n```\n\n# Autor: [Pablo Torrez](https://github.com/pblnahu1)","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpblnahu1%2FFinanceAppWithAuth","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpblnahu1%2FFinanceAppWithAuth","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpblnahu1%2FFinanceAppWithAuth/lists"}