{"id":25980330,"url":"https://github.com/josephusdev/donate-api","last_synced_at":"2025-09-09T05:52:15.368Z","repository":{"id":274028266,"uuid":"921673680","full_name":"JosephusDev/donate-api","owner":"JosephusDev","description":"Rest API for Blood Donation App","archived":false,"fork":false,"pushed_at":"2025-05-20T20:48:22.000Z","size":191,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-30T05:03:52.215Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://donate-api.vercel.app","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/JosephusDev.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,"zenodo":null}},"created_at":"2025-01-24T11:54:38.000Z","updated_at":"2025-05-20T20:48:26.000Z","dependencies_parsed_at":null,"dependency_job_id":"355c90e7-7f3c-4154-a454-a57d67efe90a","html_url":"https://github.com/JosephusDev/donate-api","commit_stats":null,"previous_names":["josephusdev/donate-api"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/JosephusDev/donate-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JosephusDev%2Fdonate-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JosephusDev%2Fdonate-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JosephusDev%2Fdonate-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JosephusDev%2Fdonate-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JosephusDev","download_url":"https://codeload.github.com/JosephusDev/donate-api/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JosephusDev%2Fdonate-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274250508,"owners_count":25249396,"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","status":"online","status_checked_at":"2025-09-09T02:00:10.223Z","response_time":80,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":"2025-03-05T07:34:15.262Z","updated_at":"2025-09-09T05:52:15.343Z","avatar_url":"https://github.com/JosephusDev.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Guia de Configuração do Projeto API com Node.js, TypeScript, Prisma e PostgreSQL\n\nEste guia fornece as diretrizes para configurar o ambiente de desenvolvimento para a API utilizando Docker, Node.js, TypeScript e Prisma. Siga os passos abaixo para instalar as dependências, subir o container do PostgreSQL e configurar o Prisma\n\n## 1. Instalação do Docker e Subida do Container\n\n### 1.1. Instale o Docker e a imagem do Postgres\nCertifique-se de que o Docker está instalado na sua máquina. Caso não tenha, siga as instruções de instalação no site oficial: [Docker Installation](https://docs.docker.com/get-docker/).\n\n### 1.2. O Arquivo `docker-compose.yml`\nExiste um arquivo chamado `docker-compose.yml` na raiz do projeto com o seguinte conteúdo:\n\n```yaml\nname: donate-api\nservices:\n  pg:\n    image: postgres:latest\n    container_name: donatedb\n    restart: always\n    environment:\n      POSTGRES_USER: docker\n      POSTGRES_PASSWORD: docker\n      POSTGRES_DB: donatedb\n    ports:\n      - '5432:5432' # Mapeia a porta padrão do PostgreSQL para a máquina host\n    volumes:\n      - data:/var/lib/postgresql/data # Persistência dos dados\nvolumes:\n  data:\n```\n\n### 1.3. Suba o Container do PostgreSQL\nNo terminal, navegue até a pasta onde o arquivo `docker-compose.yml` está localizado e execute o seguinte comando:\n\n```bash\ndocker-compose up -d\n```\n\nIsso irá baixar a imagem do PostgreSQL e subir o container com as configurações especificadas.\n\n## 2. Instalação\n\n### 2.1. Instale o Node.js e o npm\nCertifique-se de que o Node.js e o npm estão instalados na sua máquina. Caso não tenha, siga as instruções de instalação no site oficial: [Node.js Installation](https://nodejs.org/).\n\n### 2.2. Inicialize o Projeto Node.js\nNa raiz do projeto, execute o seguinte comando para instalar todas as dependências:\n\n```bash\nnpm install\n```\n\n```env\nDATABASE_URL=\"postgresql://docker:docker@localhost:5432/donatedb\"\n```\n\n### 2.3. Execute as Migrações\nExecute as migrações para criar as tabelas no banco de dados:\n\n```bash\nnpx prisma migrate dev\n```\n\n### 2.4. Visualize os Dados no Prisma Studio\nPara visualizar e manipular os dados diretamente no banco de dados, utilize o Prisma Studio:\n\n```bash\nnpx prisma studio\n```\n\nIsso abrirá uma interface gráfica no seu navegador onde você poderá visualizar e editar os dados.\n\n## 3. Explicação dos Elementos do Arquivo `docker-compose.yml`\n\n- **`image: postgres:latest`**: Especifica a imagem do PostgreSQL que será utilizada.\n- **`container_name: db`**: Define o nome do container como `db`.\n- **`restart: always`**: Garante que o container sempre reinicie em caso de falha.\n- **`environment`**: Define variáveis de ambiente para configurar o PostgreSQL, como usuário, senha e nome do banco de dados.\n- **`ports`**: Mapeia a porta 5432 do container para a porta 5432 da máquina host.\n- **`volumes`**: Persiste os dados do banco de dados em um volume chamado `data`.\n\n## 4. Conclusão\n\nSeguindo esses passos, você terá um ambiente de desenvolvimento configurado para a API com Node.js, TypeScript, Prisma e PostgreSQL. Agora você pode começar a desenvolver sua aplicação!","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosephusdev%2Fdonate-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjosephusdev%2Fdonate-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjosephusdev%2Fdonate-api/lists"}