{"id":18721927,"url":"https://github.com/felipetodev/todo-mysql","last_synced_at":"2026-04-10T00:13:07.161Z","repository":{"id":245474081,"uuid":"814336212","full_name":"felipetodev/todo-mysql","owner":"felipetodev","description":"to-do list with mysql db 📝","archived":false,"fork":false,"pushed_at":"2024-06-21T16:04:53.000Z","size":257,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-12-28T12:13:22.180Z","etag":null,"topics":["express","mvc-architecture","mysql-database","nodejs","pnpm-workspaces","reactjs","shadcn-ui","tailwindcss","vitejs"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/felipetodev.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}},"created_at":"2024-06-12T20:06:45.000Z","updated_at":"2024-06-21T16:06:05.000Z","dependencies_parsed_at":"2024-06-22T09:52:52.965Z","dependency_job_id":null,"html_url":"https://github.com/felipetodev/todo-mysql","commit_stats":null,"previous_names":["felipetodev/todo-mysql"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipetodev%2Ftodo-mysql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipetodev%2Ftodo-mysql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipetodev%2Ftodo-mysql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/felipetodev%2Ftodo-mysql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/felipetodev","download_url":"https://codeload.github.com/felipetodev/todo-mysql/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239587243,"owners_count":19663892,"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":["express","mvc-architecture","mysql-database","nodejs","pnpm-workspaces","reactjs","shadcn-ui","tailwindcss","vitejs"],"created_at":"2024-11-07T13:37:58.630Z","updated_at":"2025-11-11T03:30:22.454Z","avatar_url":"https://github.com/felipetodev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Todo List - MySQL App\n\nhttps://github.com/felipetodev/transvip-chall/assets/69825873/da007103-fdf0-4cae-8a52-2aea5df728f2\n\n## 🚀 Primeros pasos (Proyecto)\n\nClona el repositorio en tu máquina local y luego estando en la raíz del proyecto, ejecuta el siguiente comando:\n\n```bash\npnpm install\n```\n\nEste comando instalará todas las dependencias necesarias para correr el proyecto, tanto en el front como en el back. Ya que el proyecto cuenta con un archivo `pnpm-workspace.yaml` que permite instalar las dependencias de todos los proyectos a la vez.\n\nUna vez instaladas las dependencias, se debe ejecutar el siguiente comando para correr el proyecto:\n\n```bash\npnpm dev\n```\n\no puedes correr el proyecto de manera individual con los siguientes comandos:\n\n```bash\npnpm -F frontend dev\n```\n\n```bash\npnpm -F backend dev\n```\n\nEste comando correrá tanto el front como el back del proyecto. El front se ejecutará en el puerto `4000` y el back en el puerto `3000`.\n\n\u003e [!IMPORTANT]\n\u003e - Antes de levantar todos los servicios, se debe tener el servidor de MySQL corriendo. Si no se tiene instalado, se puede seguir los pasos que se encuentran más abajo.\n\u003e - La versión minima requerida de Node.js para correr el proyecto es desde la **18.x** en adelante (LTS).\n\n## Primeros pasos (MySQL Server)\n\nPara correr el proyecto con MySQL, de utilizó DBngin, una herramienta que permite correr MySQL en MacOS de manera sencilla. Para instalarlo, se puede hacer desde [aquí](https://dbngin.com/).\n\nSi estás en Windows, puedes utilizar MySQL Workbench o cualquier otro cliente de MySQL con una instancia local apuntando a localhost.\n\nUna vez instalado, se debe agregar un nuevo servidor MySQL y configurar la base de datos con los siguientes datos utilizados:\n\n- **Service:** MySQL (requerido)\n- **Name:** todolist-database\n- **Port:** 3306 (por defecto) o el que corresponda en tu caso.\n- **Password:** '' (sin contraseña) o la que corresponda en tu caso.\n\nEsto para que la conexión con el servidor de MySQL sea exitosa.\n\nTambién puedes configurar la conexión con los datos de tu DB renombrando el archivo [**.env.example**](backend/.env.example) a `.env` ubicado en la raíz de la carpeta `backend` reemplazando los valores por los de tu config.\n\n⚠️ MySQL Connection Config: [**backend/config.ts**](backend/config.ts) ⚙️\n\nUna vez activado el servidor, se debe ejecutar el script de sql el cual se encuentra en la carpeta `script/todolist-database.sql` en la raíz del proyecto.\n\nPara ello puedes utilizar MySQL Workbench o cualquier otro cliente de MySQL.\n\n## 🛠️ Tecnologías utilizadas\n\n- **Frontend:** TypeScript, Vite.js, React, TailwindCSS, Redux Toolkit, ShadCN.\n- **Backend:** TypeScript, Node.js, Express, MySQL.\n\n## 📝 Features\n\n- [x] Crear una tarea\n- [x] Listar todas las tareas\n- [x] Marcar una tarea como completada\n- [x] Eliminar una tarea\n- [x] Persistencia de datos en MySQL\n- [x] Estado global de aplicación con Redux Toolkit\n- [x] Workspaces con pnpm para manejar dependencias de front y back\n- [x] Editar descripción de una tarea\n\n## 🔑 Licencia \n\n- [MIT](https://github.com/felipetodev/todo-mysql/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipetodev%2Ftodo-mysql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffelipetodev%2Ftodo-mysql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffelipetodev%2Ftodo-mysql/lists"}