{"id":28504507,"url":"https://github.com/antoniandre/todo-list","last_synced_at":"2026-03-05T19:07:44.759Z","repository":{"id":95349743,"uuid":"558451106","full_name":"antoniandre/todo-list","owner":"antoniandre","description":"A simple yet sexy todo list to practice modern Full Stack development with my team.","archived":false,"fork":false,"pushed_at":"2025-03-21T22:48:23.000Z","size":1895,"stargazers_count":2,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-08T18:05:46.848Z","etag":null,"topics":["todo","todo-app","todolist"],"latest_commit_sha":null,"homepage":"","language":"Vue","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/antoniandre.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":"2022-10-27T15:15:15.000Z","updated_at":"2025-03-21T22:48:27.000Z","dependencies_parsed_at":"2025-02-07T11:19:41.139Z","dependency_job_id":"d9a28378-0c4c-4b31-b88d-30b4a9286295","html_url":"https://github.com/antoniandre/todo-list","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/antoniandre/todo-list","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniandre%2Ftodo-list","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniandre%2Ftodo-list/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniandre%2Ftodo-list/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniandre%2Ftodo-list/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/antoniandre","download_url":"https://codeload.github.com/antoniandre/todo-list/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/antoniandre%2Ftodo-list/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263848763,"owners_count":23519507,"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":["todo","todo-app","todolist"],"created_at":"2025-06-08T18:05:45.183Z","updated_at":"2026-03-05T19:07:39.716Z","avatar_url":"https://github.com/antoniandre.png","language":"Vue","funding_links":[],"categories":[],"sub_categories":[],"readme":"[![JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com)\n\n\n# todolist\nThis project is a full stack practice ground created during my workshops.\n\n\u003e __Tech stack:__ JS, Vue.js 3 \u0026 Vite, SCSS, PHP, MySQL.\n\n![Todo App preview](/frontend/public/todoapp-preview.png)\n---\n\n## Project setup\n\n__Backend:__\n- Create a MySQL database called `todo` and update the credentials in the index.php file.\n  ```sql\n  CREATE TABLE `tasks` (\n    `id` smallint(6) NOT NULL AUTO_INCREMENT,\n    `label` text NOT NULL,\n    `description` text,\n    `status` enum('todo','doing','done') NOT NULL DEFAULT 'todo',\n    `assignee` int(4) DEFAULT NULL,\n    `created` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP\n  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n\n  CREATE TABLE `users` (\n    `id` int(11) NOT NULL AUTO_INCREMENT,\n    `firstName` varchar(255) DEFAULT NULL,\n    `lastName` varchar(255) DEFAULT NULL,\n    `username` varchar(255) NOT NULL,\n    `email` varchar(255) DEFAULT NULL,\n    `password` varchar(255) NOT NULL\n  ) ENGINE=InnoDB DEFAULT CHARSET=utf8;\n\n  ALTER TABLE `users`\n    ADD PRIMARY KEY (`id`);\n\n  ALTER TABLE `tasks`\n    ADD PRIMARY KEY (`id`),\n    ADD KEY `assignee` (`assignee`),\n    ADD CONSTRAINT `tasks_ibfk_1` FOREIGN KEY (`assignee`) REFERENCES `users` (`id`) ON DELETE SET NULL ON UPDATE NO ACTION;\n  ```\n- `cd api`\n- `composer install`\n\n__Frontend:__\n- `cd frontend`\n- `pnpm i`\n\n## Running the project\n- Needs Apache running on port `:80` (or update the proxy in the vue.config.js)\n- from the `frontend/` dir:\n  ### Compiles and hot-reloads for development\n  ```\n  pnpm run serve\n  ```\n\n  ### Compiles and minifies for production\n  ```\n  pnpm run build\n  ```\n\n  ### Lints and fixes files\n  ```\n  pnpm run lint\n  ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoniandre%2Ftodo-list","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fantoniandre%2Ftodo-list","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fantoniandre%2Ftodo-list/lists"}