{"id":29224722,"url":"https://github.com/mauroslucios/docker-cid-cd-python-uvicorn","last_synced_at":"2025-07-03T06:07:48.950Z","repository":{"id":302554797,"uuid":"1012854020","full_name":"mauroslucios/docker-cid-cd-python-uvicorn","owner":"mauroslucios","description":"Docker com CI/CD usando python uvicorn","archived":false,"fork":false,"pushed_at":"2025-07-03T01:59:20.000Z","size":0,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-07-03T02:39:33.040Z","etag":null,"topics":["cicd","docker","docker-compose","dockerfile","fastapi","git","linux","python","uvicorn"],"latest_commit_sha":null,"homepage":"","language":"Python","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/mauroslucios.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-07-03T01:52:11.000Z","updated_at":"2025-07-03T02:00:55.000Z","dependencies_parsed_at":"2025-07-03T02:39:35.744Z","dependency_job_id":"ded6a335-f5ff-4c37-ab88-38b3aceffc4b","html_url":"https://github.com/mauroslucios/docker-cid-cd-python-uvicorn","commit_stats":null,"previous_names":["mauroslucios/docker-cid-cd-python-uvicorn"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mauroslucios/docker-cid-cd-python-uvicorn","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauroslucios%2Fdocker-cid-cd-python-uvicorn","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauroslucios%2Fdocker-cid-cd-python-uvicorn/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauroslucios%2Fdocker-cid-cd-python-uvicorn/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauroslucios%2Fdocker-cid-cd-python-uvicorn/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mauroslucios","download_url":"https://codeload.github.com/mauroslucios/docker-cid-cd-python-uvicorn/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mauroslucios%2Fdocker-cid-cd-python-uvicorn/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263271499,"owners_count":23440396,"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":["cicd","docker","docker-compose","dockerfile","fastapi","git","linux","python","uvicorn"],"created_at":"2025-07-03T06:07:48.057Z","updated_at":"2025-07-03T06:07:48.924Z","avatar_url":"https://github.com/mauroslucios.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Projeto FastAPI com Autenticação\n\n## Sobre o Projeto\n\nEste é um projeto de exemplo de como utilizar FastAPI para criar uma API com autenticação. A aplicação utiliza o módulo `httpx` para realizar o login em um serviço e posteriormente acessar um endpoint protegido.\n\n## Integração Contínua (CI)\n\nEste projeto utiliza GitHub Actions para integração contínua. O workflow, localizado no diretório `.github/workflows/`, é acionado a cada `push` ou `pull request` para a branch `main` e executa as seguintes tarefas:\n- Instalação de dependências.\n- Análise estática de código (linting).\n- Build da imagem Docker para garantir a integridade da aplicação.\n\n1. **Clone o repositório**:\n   \n\nEste é um projeto de exemplo utilizando FastAPI para acessar dados protegidos por autenticação. A aplicação faz login em um serviço para obter um token de acesso e utiliza esse token para acessar um endpoint protegido.\n\n## Estrutura do Projeto\n\n- **app/main.py**: Contém a lógica principal da aplicação, incluindo endpoints para login e acesso a dados protegidos.\n- **requirements.txt**: Lista de dependências do projeto.\n- **Dockerfile**: Configuração do Docker para containerizar a aplicação.\n- **docker-compose.yml**: Configuração do Docker Compose para orquestrar os serviços do projeto.\n\n## Endpoints\n\n- **POST /login**: Realiza o login para obter o token de acesso.\n- **GET /dados-protegidos**: Acessa dados protegidos usando o token de acesso.\n\n## Como Executar\n\n1. **Clone o repositório**:\n   ```bash\n   git clone \u003curl-do-repositorio\u003e\n   cd \u003cnome-do-repositorio\u003e\n   ```\n\n2. **Build da imagem Docker**:\n   ```bash\n   docker build -t mauroslucios/pythonuvicorn:v1 .\n   ```\n\n3. **Execute o container**:\n   ```bash\n   docker-compose up\n   ```\n\n4. Acesse a aplicação em `http://localhost:8000`.\n\n## Dependências\n\n- Python 3.11\n- FastAPI\n- HTTPX\n- Uvicorn\n- Docker\n\n## Configuração\n\nPara que a aplicação funcione corretamente, é necessário configurar as credenciais de `USERNAME` e `PASSWORD` no arquivo `app/main.py`.\n\n## Licença\n\nEste projeto está licenciado sob a [MIT License](LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmauroslucios%2Fdocker-cid-cd-python-uvicorn","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmauroslucios%2Fdocker-cid-cd-python-uvicorn","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmauroslucios%2Fdocker-cid-cd-python-uvicorn/lists"}