{"id":21003207,"url":"https://github.com/devkayos/getpet","last_synced_at":"2026-04-27T19:03:41.543Z","repository":{"id":242921600,"uuid":"810932763","full_name":"DevKayoS/getPet","owner":"DevKayoS","description":"Projeto de adoção de animais de estimação do curso de node.js, aplicação completa com API no padrão REST feito com typescript e front feito com React, typescript e tailwind ","archived":false,"fork":false,"pushed_at":"2024-07-01T22:51:27.000Z","size":12248,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-27T05:55:22.796Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"TypeScript","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/DevKayoS.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-06-05T16:13:36.000Z","updated_at":"2024-07-01T22:51:30.000Z","dependencies_parsed_at":"2025-01-20T10:11:02.379Z","dependency_job_id":"d5c4e68f-3c8d-47c6-aa45-5f8337b5a6c1","html_url":"https://github.com/DevKayoS/getPet","commit_stats":null,"previous_names":["devkayos/getpet"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/DevKayoS/getPet","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevKayoS%2FgetPet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevKayoS%2FgetPet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevKayoS%2FgetPet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevKayoS%2FgetPet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DevKayoS","download_url":"https://codeload.github.com/DevKayoS/getPet/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DevKayoS%2FgetPet/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32350245,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-27T17:12:42.749Z","status":"ssl_error","status_checked_at":"2026-04-27T17:12:41.658Z","response_time":128,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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-11-19T08:23:59.914Z","updated_at":"2026-04-27T19:03:41.527Z","avatar_url":"https://github.com/DevKayoS.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Get a Pet\nUm website para adoções de pet, na qual facilita a vida da pessoa que quer adotar um pet, quanto a pessoa que esta anunciando o pet, contando com uma interface moderna e intuitiva para os usuários, desde se registrar no site até finalizar a adoção o site faz toda ligação entre os dois.\n\n![image](https://github.com/DevKayoS/getPet/assets/157029608/41ab8d43-c9b2-47ca-a603-371bbf8475e5)\n\n## Introdução\nEsse foi um projeto fullstack, realizado com base no projeto do curso de node do instrutor Matheus Battisti, fiz algumas mudanças como a adaptação do projeto para typescript tanto na API quanto no front-end.\n\n### Registro e login de usuário\nPara que seja possível algum usuário cadastrar algum pet para adoção ou solicitar uma visita para conhecer algum pet é necessário que ele esteja logado, com isso caso o usuário não tenha alguma conta ainda terá que se cadastrar.\n\n![image](https://github.com/DevKayoS/getPet/assets/157029608/6e328824-11b9-447a-bcb8-123a6b924bbe)\n(página de cadastro)\n\nAo se cadastrar o usuário já é logado na seção o que é gerado um token JWT, que fica salvo no local storage da aplicação, que será necessária, pois para fazer certas ações o usuário precisa estar autenticado, essa autentificação acontece toda na API, já que toda vez que algum usuário é logado ou cadastrado a API gera um token, que no front-end conseguimos pegar esse token e salvar no local storage.\n\n![image](https://github.com/DevKayoS/getPet/assets/157029608/6ef53d34-55b9-4aa6-b0ca-46db764bbd6d)\n(página de login)\n\n### Atualizando dados do usuário\nComo num bom e velho crud, existe como atualizarmos os dados do usuário e adicionar uma imagem de perfil para ele, assim como está na imagem abaixo:\n\n![image](https://github.com/DevKayoS/getPet/assets/157029608/5b81bcde-7675-4b4c-9117-4fdc8a7fce90)\n\n\nO tratamento da imagem acontece por meio do multer que foi configurado na API.\n\n\n### Cadastro de novo Pet\nAgora que o usuário esta cadastrado ele pode cadastrar novos pets para ficar disponivel para adoção, ele pode acessar a área de cadastro de novo pet clicando em meus pets como esta na imagem abaixo.\n![image](https://github.com/DevKayoS/getPet/assets/157029608/abb68477-5a26-4f72-98e2-cfa47315587c)\nIndo em cadastrar pet irá ser redirecionado para a seguinte página: \n![image](https://github.com/DevKayoS/getPet/assets/157029608/acb88f28-0f91-4e17-9e1f-6aafd051f1c0)\n\nE logo após ter cadastrado um novo pet ele ficará exebido para possiveis edições ou caso queira apagar o pet caso tenha dado algum erro\n![image](https://github.com/DevKayoS/getPet/assets/157029608/05ed78bc-574b-4985-9c07-f3e791b06685)\n\n## Solicitando a visita e concluindo adoção\nTodos os usuários tem acesso a home que mostra todos os pets, porém precisa estar logado para solicitar uma visita na qual ficará disponivel os dados de quem cadastrou o pet na seção de minhas adoções. Veja um exemplo abaixo apos clicarmos em ver mais detalhes em um pet.\n\n![image](https://github.com/DevKayoS/getPet/assets/157029608/739cafd2-7c64-49a4-82d3-abea84981113)\n\nEntão somos obrigados a logar, pois é necessária essa autentificação para fazer esse agendamento e que foi tratado tanto na API com middlewares para identificar se o usuário tem algum token quanto no frontend pegando o token no localstorage.\n\nAgora que estamos logado podemos solicitar a visita para conhecer melhor o pet o usuário que cadastrou o pet conhecerá quem esta solicitando.\n![image](https://github.com/DevKayoS/getPet/assets/157029608/6115ffaa-bbb4-4dad-a5e0-f8f1d6ee48a9)\n\nIndo em meus pets e depois clicando minhas adoções será exibido todos os pets que o usuário solicitou a visita\n![image](https://github.com/DevKayoS/getPet/assets/157029608/088d751c-a4fd-4dd5-b30b-fbcab4545a67)\n\nAgora o que irá acontecer não precisa mais ser no site e tem que ser entre o quem colocou o pet para adoção e quem quer adotar.\n\nApós isso para finalizar o ciclo quem cadastrou pet tem que ir na seção de pets e permitir e clicar em concluir adoção para que caso outros usuários tenham interesse seja mostrado que o pet ja foi adotado da seguinte forma:\n\nSeção de meus pets do responsavel pela adoção:\n![image](https://github.com/DevKayoS/getPet/assets/157029608/b6009090-bb16-486c-8204-a4fff41ebc01)\n\nAo concluir adoção irá ser exibido para todos que o pet foi adotado\n\nDashboard do responsavel pela adoção:\n![image](https://github.com/DevKayoS/getPet/assets/157029608/5bda7bd1-cd03-4594-b617-0b0ba730e7c7)\n\nPágina principal de adoção de pets:\n![image](https://github.com/DevKayoS/getPet/assets/157029608/5901824f-673f-40e1-9531-6d783506ebcd)\n\nE agora em minhas adoções de quem solicitou a visita:\n![image](https://github.com/DevKayoS/getPet/assets/157029608/0f658445-0a80-4fec-aab4-d922f19724e5)\n\nE com isso concluimos todos os passos de adoção!\n\n# Tecnologias:\n\n## API\n  * Foi utilizado a arquitetura MVC para uma maior organização;\n  * Node;\n  * Typescript;\n  * Express;\n  * MongoDB;\n  * Mongoose;\n  * Bcrypt, Biblioteca para fazer a criptografia das senhas;\n  * JWT, para geração do Token de autentificação;\n\n## Front-end\n  * Vite;\n  * React;\n  * Typescript;\n  * TailwindCss;\n  * Shadcn ui;\n\n## Como rodar:\nPara rodar a aplicação precisa de um requisito minimo ter instalado mongoDB na sua máquina:\n\n```sh\ngit clone https://github.com/DevKayoS/getPet.git\n```\nInstalando dependencias\n```sh\nnpm install\n```\nEntrando na pasta api e rodando a api\n```sh\n  cd ./api\n  npm start\n```\nEntrando na pasta do front end e rodando\n```sh\n  cd ../frontend\n  npm run dev\n```\n\n\n\n\n\n\n\n\n\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevkayos%2Fgetpet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdevkayos%2Fgetpet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdevkayos%2Fgetpet/lists"}