{"id":19988230,"url":"https://github.com/gabrielogregorio/my-routine","last_synced_at":"2026-05-15T08:07:44.679Z","repository":{"id":103714317,"uuid":"384742878","full_name":"gabrielogregorio/my-routine","owner":"gabrielogregorio","description":"👨‍💻 Programa de controle de rotina","archived":false,"fork":false,"pushed_at":"2022-11-27T14:36:27.000Z","size":111,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-04T21:45:20.811Z","etag":null,"topics":["css3","php","sql"],"latest_commit_sha":null,"homepage":"","language":"PHP","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/gabrielogregorio.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}},"created_at":"2021-07-10T16:30:05.000Z","updated_at":"2023-10-31T00:34:04.000Z","dependencies_parsed_at":null,"dependency_job_id":"a8789d09-0c33-48c1-881d-1e2dd9045e2f","html_url":"https://github.com/gabrielogregorio/my-routine","commit_stats":null,"previous_names":["ogregorio0/my-routine","gabrielogregorio/my-routine"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gabrielogregorio/my-routine","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielogregorio%2Fmy-routine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielogregorio%2Fmy-routine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielogregorio%2Fmy-routine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielogregorio%2Fmy-routine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gabrielogregorio","download_url":"https://codeload.github.com/gabrielogregorio/my-routine/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielogregorio%2Fmy-routine/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":260318656,"owners_count":22991118,"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":["css3","php","sql"],"created_at":"2024-11-13T04:42:05.214Z","updated_at":"2025-10-27T23:35:59.986Z","avatar_url":"https://github.com/gabrielogregorio.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cdiv align=\"center\"\u003e\n    \u003cimg height=\"30\" alt=\"Javascript\" src=\"https://img.shields.io/badge/PHP-777BB4?style=for-the-badge\u0026logo=php\u0026logoColor=white\"\u003e\n    \u003cimg height=\"30\" alt=\"Javascript\" src=\"https://img.shields.io/badge/MySQL-00000F?style=for-the-badge\u0026logo=mysql\u0026logoColor=white\"\u003e\n    \u003cimg height=\"30\" alt=\"css3\" src=\"https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge\u0026logo=css3\u0026logoColor=white\"\u003e\n    \u003cimg height=\"30\" alt=\"html5\" src=\"https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge\u0026logo=html5\u0026logoColor=white\"\u003e\n    \u003cimg height=\"30\" alt=\"Javascript\" src=\"https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge\u0026logo=javascript\u0026logoColor=black\"\u003e\n\u003c/div\u003e\n\n\u003ch3 align=\"center\"\u003ePrograma de controle de rotina em PHP\u003c/h3\u003e\n\u003cp align=\"center\"\u003e\n    Um programa de controle de rotina, onde através de um cadastro na plataforma é possível fazer o gerenciamento de tarefas que devem ser cumpridas durante um dia.\n    \u003cbr\u003e\n    \u003ca href=\"https://gabrielogregorio.com/projetos/minha-rotina/\"\u003e\u003cstrong\u003eVer demonstrativo »\u003c/strong\u003e\u003c/a\u003e\n    \u003cbr\u003e\n\u003c/p\u003e\n\n\u003ch3\u003eInformações gerais\u003c/h3\u003e\n\n![GitHub estrelas](https://img.shields.io/github/stars/gabrielogregorio/Minha-Rotina)\n![GitHub last commit](https://img.shields.io/github/last-commit/gabrielogregorio/Minha-Rotina?style=flat-square)\n![GitHub contributors](https://img.shields.io/github/contributors/gabrielogregorio/Minha-Rotina)\n![GitHub language count](https://img.shields.io/github/languages/count/gabrielogregorio/Minha-Rotina)\n![GitHub repo size](https://img.shields.io/github/repo-size/gabrielogregorio/Minha-Rotina)\n\n### Introdução\nEsse projeto se trata de um estudo de PHP, onde podemos criar uma conta através de e-mail e senha, e podemos então adicionar tarefas que deverão ser cumpridas durante a rotina, como caminhadas, checar e-mails ou assistir uma aula de Javascript por exemplo.\n\n### Como iniciar\nFaça download do projeto e descompacte na pasta raíz do seu servidor web (www, htdocs, public_html etc) e execute o comando abaixo:\n\n```shell\ncomposer install --no-dev\n```\n\nEdite o arquivo config/config.php com o editor de sua preferência e altere a url base do sistema e as credenciais de acesso ao banco de dados.\n\nImporte o banco de dados através do arquivo de dump que está localizado em sql/my_routine_schema.sql ou crie diretamente através dos comandos abaixo:\n\n```sql\nCREATE DATABASE IF NOT EXISTS `my_routine` /*!40100 DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci */;\n```\n\n```sql\nUSE `my_routine`;\n```\n\n```sql\nCREATE TABLE IF NOT EXISTS `users` (\n  `user_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n  `username` varchar(100) NOT NULL DEFAULT '',\n  `password` varchar(150) NOT NULL DEFAULT '',\n  `created_at` datetime NOT NULL DEFAULT current_timestamp(),\n  `updated_at` datetime NULL DEFAULT NULL ON UPDATE current_timestamp(),\n  PRIMARY KEY (`user_id`),\n  UNIQUE KEY `UQ_username` (`username`)\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;\n```\n\n```sql\nCREATE TABLE IF NOT EXISTS `tasks` (\n  `task_id` int(10) unsigned NOT NULL AUTO_INCREMENT,\n  `user_id` int(10) unsigned NOT NULL DEFAULT 0,\n  `task_name` varchar(50) NOT NULL DEFAULT '',\n  `task_description` tinytext NULL DEFAULT NULL,\n  `task_status` varchar(20) NOT NULL DEFAULT '',\n  `is_checked` tinyint(1) NOT NULL DEFAULT 0,\n  `created_at` datetime NOT NULL DEFAULT current_timestamp(),\n  `updated_at` datetime NULL DEFAULT NULL ON UPDATE current_timestamp(),\n  PRIMARY KEY (`task_id`),\n  KEY `FK_tasks_user_id` (`user_id`),\n  CONSTRAINT `FK_tasks_user_id` FOREIGN KEY `user_id` (`user_id`)\n  REFERENCES `users` (`user_id`)\n    ON DELETE CASCADE ON UPDATE NO ACTION\n) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_general_ci;\n```\n\nPronto, agora você só precisa executar o servidor apache.\n\n### Capturas de tela\n![Tela de login](./public/images/login.png)\n![Tela de Itens](./public/images/tasks.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielogregorio%2Fmy-routine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabrielogregorio%2Fmy-routine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielogregorio%2Fmy-routine/lists"}