{"id":22546392,"url":"https://github.com/danilowa/ezoomdot","last_synced_at":"2025-10-28T22:32:20.034Z","repository":{"id":217700757,"uuid":"743689068","full_name":"DaniloWA/ezoomdot","owner":"DaniloWA","description":null,"archived":false,"fork":false,"pushed_at":"2024-01-19T00:43:44.000Z","size":4286,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-02T09:30:42.311Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/DaniloWA.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-01-15T19:18:13.000Z","updated_at":"2024-01-17T15:20:55.000Z","dependencies_parsed_at":"2024-01-18T00:18:33.005Z","dependency_job_id":"4aba1b58-f7af-45f6-acf2-9e5708c55a67","html_url":"https://github.com/DaniloWA/ezoomdot","commit_stats":null,"previous_names":["danilowa/ezoomdot"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaniloWA%2Fezoomdot","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaniloWA%2Fezoomdot/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaniloWA%2Fezoomdot/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DaniloWA%2Fezoomdot/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DaniloWA","download_url":"https://codeload.github.com/DaniloWA/ezoomdot/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245999321,"owners_count":20707554,"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":[],"created_at":"2024-12-07T15:07:28.202Z","updated_at":"2025-10-28T22:32:15.003Z","avatar_url":"https://github.com/DaniloWA.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Api Ezoom - Desafio Técnico - Dev PHP Pleno\n\n### Principais Recursos\n\n-   **Listagem de Tarefas:** Recupere uma lista de tarefas com base em vários critérios, como usuário, status, prioridade e prazo.\n-   **Filtragem Avançada:** Utilize filtros detalhados para refinar os resultados e encontrar informações específicas.\n-   **Criação e Atualização de Tarefas:** Adicione novas tarefas e atualize informações existentes conforme necessário.\n-   **Exclusão de Tarefas:** Remova tarefas da base de dados conforme necessário.\n\n---\n\n# Pages\n\n### Home page\n\n![eer](/img/home_ezoom.png)\n\n### Tasks List\n\n![eer](/img/task_list.png)\n\n\u003cbr/\u003e\n\n## Índice\n\n### [Tecnologias](#destaque-das-tecnologias-utilizadas)\n\n### [Conceitos / Patterns](#destaque-dos-conceitos-e-patterns-utilizados)\n\n### [Pré-requisitos](#pré-requisitos)\n\n### [Rodando localmente](#rodando-localmente)\n\n### [Postman](#postman-preview)\n\n-   [Documentação completa Postman](/wiki/postman.md)\n\n### [Documentação da API](#api-auth)\n\n-   [Api Auth](#api-auth)\n\n    -   [Documentação completa Auth](/wiki/api_auth.md)\n\n-   [Tasks](#tasks)\n\n    -   [Documentação completa Tasks](/wiki/tasks.md)\n\n---\n\n\u003cbr/\u003e\n\u003cbr/\u003e\n\n## Destaque das tecnologias utilizadas\n\n| Tecnologias       | versão  | Descrição                                                                                                                                                                |\n| :---------------- | :------ | :----------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| `PHP`             | `8.1`   | Uma linguagem de script de uso geral popular                                                                                                                             |\n| `Laravel`         | `10.10` | O Framework PHP para Artesãos da Web                                                                                                                                     |\n| `MySQL`           | `15.x`  | O MySQL é um sistema de gerenciamento de banco de dados, que utiliza a linguagem SQL como interface.                                                                     |\n| `Laravel Debuger` | `7.2`   | Monitoramento de erros e desempenho do Laravel                                                                                                                           |\n| `Guzzlehttp`      | `7.4`   | Guzzle é um cliente PHP HTTP que facilita o envio de solicitações HTTP.                                                                                                  |\n| `Sanctum`         | `3.3`   | Laravel Sanctum Fornece um sistema de autenticação leve para SPAs (aplicativos de página única), aplicativos móveis e APIs simples baseadas em token.                    |\n| `Vite`            | `5.0`   | Vite é uma ferramenta de construção que foi inicialmente desenvolvida para Vue.js.                                                                                       |\n| `Postman`         | `10.x`  | Postman é uma plataforma de API para desenvolvedores projetar, construir, testar e iterar suas APIs.                                                                     |\n| `Dbeaver`         | `23.x`  | DBeaver é um aplicativo de software cliente SQL e uma ferramenta de administração de banco de dados.                                                                     |\n| `Pest`            | `2.x`   | Pest is a testing framework with a focus on simplicity, meticulously designed to bring back the joy of testing in PHP.                                                   |\n| `Migration`       | `---`   | As migrações são como controle de versão para seu banco de dados, permitindo que sua equipe defina e compartilhe a definição do esquema de banco de dados do aplicativo. |\n| `PSR-4`           | `---`   | A PSR-4 é uma recomendação da comunidade PHP para organização e carregamento de arquivos e classes PHP.                                                                  |\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n## Destaque dos conceitos e patterns utilizados\n\n| Conceitos/Patterns          | Descrição                                                                                                                                                                                         |\n| :-------------------------- | :------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| `MVC`                       | MVC é o acrônimo de Model-View-Controller é um padrão de projeto de software, ou padrão de arquitetura de software.                                                                               |\n| `POO`                       | Programação orientada a objetos é um paradigma de programação baseado no conceito de \"objetos\".                                                                                                   |\n| `PHP SOLID`                 | SOLID é um acrônimo para os primeiros cinco princípios de design orientado a objetos (OOD).                                                                                                       |\n| `API RESTful `              | Api Rest é uma interface de programação de aplicações (API ou API web) que está em conformidade com as restrições do estilo de arquitetura REST, permitindo a interação com serviços web RESTful. |\n| `Gitflow`                   | Gitflow é um fluxo de trabalho Git legado que originalmente era uma estratégia inovadora e disruptiva para gerenciar ramificações do Git.                                                         |\n| `Builder pattern`           | Builder é um padrão de projeto de software criacional que permite a separação da construção de um objeto complexo da sua representação.                                                           |\n| `Factory pattern`           | Use uma função de fábrica para criar objetos.                                                                                                                                                     |\n| `Provider pattern`          | Disponibilize dados para vários componentes filhos.                                                                                                                                               |\n| `Banco de dados relacional` | Um banco de dados relacional é um banco de dados que modela os dados de uma forma que eles sejam percebidos pelo usuário como tabelas, ou mais formalmente relações.                              |\n\n\u003cbr\u003e\n\n## Pré-requisitos\n\n-   PHP ^8.1\n-   MySql ^15\n-   Laravel 10.x\n-   Servidor Linux\n\n\u003cbr\u003e\n\n---\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n## Rodando localmente\n\n### Clone o projeto\n\n```bash\n  git clone https://github.com/DaniloWA/ezoomdot.git\n```\n\n### Entre no diretório do projeto\n\n```bash\n  cd ezoomdot/\n```\n\n### Copiar ficheiro environment\n\n```bash\n  cp .env.example .env\n```\n\n### Instale as dependências\n\n```bash\n  composer install\n  npm install\n```\n\n### Gerar key de criptografia\n\n\u003e Essa chave é usada pelo serviço de criptografia Illuminate e deve ser definida como uma cadeia aleatória de 32 caracteres, caso contrário, essas cadeias criptografadas não serão seguras. Faça isso antes de implantar um aplicativo!\n\n```bash\n  php artisan key:generate\n```\n\n### Definir configuração da conexão da base de dados\n\n#### Substitui essas linhas no ficheiro ./.env\n\n\u003e Está por default minha database na AWS. Não obrigatorio utilizar! Valida até : 01/04/2024.\n\n```bash\nDB_CONNECTION=mysql\nDB_HOST=dev-ezoom-db.c7qg0s88cg7u.us-east-1.rds.amazonaws.com\nDB_PORT=3306\nDB_DATABASE=dev-ezoom-db\nDB_USERNAME=admin\nDB_PASSWORD=admin123\n```\n\n\u003e Caso o nome da base de dados seja diferente altere essa linha : DB_DATABASE= \\\u003c NOME_AQUI \\\u003e\n\n### Criando base de dados\n\n```bash\n  php artisan migrate\n```\n\n### (Opcional/Recomendado) Povoando base de dados com dados\n\n```bash\n  php artisan db:seed\n```\n\n### (Opcional) Ou pode rodar os ultimos dois passos em conjuto\n\n```bash\n  php artisan migrate --seed\n```\n\n### (Opcional) Rodar Tests\n\n```bash\n  ./vendor/bin/pest\n```\n\n### Iniciar Porjeto\n\n```bash\n  php artisan serve\n```\n\n```bash\n  npm run dev\n```\n\n\u003cbr\u003e\n\n[Início](#principais-recursos)\n\n---\n\n\u003cbr\u003e\n\u003cbr\u003e\n\n# Postman preview\n\n### Importar suite de endpoints para o [Postman](/postman) (ficheiros)\n\n```bash\n  cd ./postman\n```\n\n\u003cbr\u003e\n\n\u003e **Observação**: Estes gifs servem apenas como um guia visual, utilize-o em conjunto com os arquivos fornecidos para uma configuração eficiente..\n\n### Passo a Passo para importação do ficheiro do endpoint pelo GUI\n\n![import collection](/img/gif-import-collection-api.gif)\n\n\u003cbr\u003e\n\n### Passo a Passo para importação do ficheiro do environment pelo GUI\n\n![import environment](/img/gif-import-environment-api.gif)\n\n#### (Opcional) Para visualizar os dados dos endpoints\n\n```bash\n  cat .\\postman\\api_ezoom_dev.postman_collection.json\n```\n\n#### (Opcional) Para visualizar os dados do ambiente local do environment\n\n```bash\n  cat .\\postman\\api_ezoom_dev.postman_environment.json\n```\n\n\u003cbr\u003e\n\n[Início](#principais-recursos)\n\n---\n\n\u003cbr\u003e\n\n# Documentação da API\n\n# [Api Auth](/wiki/api_auth.md)\n\n\u003cbr\u003e\n\n## POST /register\n\n```\n  http://[SUA_URI]/api/v1/auth/register\n```\n\n\u003cbr\u003e\n\n#### BODY\n\n![Body register](img/body_register.png)\n\n\u003cdetails\u003e \n  \u003csummary\u003eCode\u003c/summary\u003e\n\n```json\n{\n    \"name\": \"UserTeste\",\n    \"email\": \"User@gmail.com\",\n    \"password\": \"123123123\",\n    \"password_confirmation\": \"123123123\"\n}\n```\n\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n#### Response 200\n\n![Response](img/response_success_register.png)\n\n\u003cdetails\u003e \n  \u003csummary\u003eCode\u003c/summary\u003e\n\n```json\n{\n    \"status\": \"Success\",\n    \"status_code\": 201,\n    \"message\": \"User created!\",\n    \"data\": {\n        \"user\": {\n            \"name\": \"UserTeste\",\n            \"email\": \"User@gmail.com\",\n            \"uuid\": \"2016cca7-c155-48b4-bb2b-762f5838d4a5\",\n            \"updated_at\": \"2024-01-17T06:58:55.000000Z\",\n            \"created_at\": \"2024-01-17T06:58:55.000000Z\"\n        },\n        \"token\": \"5|yj7O2CKYYQnKC4Nw1rELW5vz0zzW3RBoChRTa1pYdcfb0c27\"\n    }\n}\n```\n\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n## POST /login\n\n```\n  http://[SUA_URI]/api/v1/auth/login\n```\n\n\u003cbr\u003e\n\n#### BODY\n\n![Body login](img/body_login.png)\n\n\u003cdetails\u003e \n  \u003csummary\u003eCode\u003c/summary\u003e\n\n```json\n{\n    \"email\": \"User@gmail.com\",\n    \"password\": \"123123123\"\n}\n```\n\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n#### Response 200\n\n![Response](img/response_success_login.png)\n\n\u003cdetails\u003e \n  \u003csummary\u003eCode\u003c/summary\u003e\n\n```json\n{\n    \"status\": \"Success\",\n    \"status_code\": 200,\n    \"message\": \"User logged in!\",\n    \"data\": {\n        \"token\": \"6|WGIoh2rgaXMmHUE6eRsejrfAayNagVB21FrewxiSf9ae89ad\",\n        \"user\": {\n            \"uuid\": \"2016cca7-c155-48b4-bb2b-762f5838d4a5\",\n            \"name\": \"UserTeste\",\n            \"email\": \"User@gmail.com\",\n            \"email_verified_at\": null,\n            \"created_at\": \"2024-01-17T06:58:55.000000Z\",\n            \"updated_at\": \"2024-01-17T06:58:55.000000Z\"\n        }\n    }\n}\n```\n\n\u003c/details\u003e\n\n\u003cbr\u003e\n\n[Início](#principais-recursos)\n\n---\n\n## License\n\nMIT\n\n**Free Software, Hell Yeah!**\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanilowa%2Fezoomdot","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanilowa%2Fezoomdot","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanilowa%2Fezoomdot/lists"}