{"id":18369590,"url":"https://github.com/henriqueotogami/flask-rest-api","last_synced_at":"2026-04-24T22:32:26.224Z","repository":{"id":149912863,"uuid":"294245222","full_name":"henriqueotogami/flask-rest-api","owner":"henriqueotogami","description":"Aula de Flask e REST API, do Bootcamp Desenvolvedor Full Stack Python.","archived":false,"fork":false,"pushed_at":"2025-03-04T05:35:52.000Z","size":10358,"stargazers_count":1,"open_issues_count":3,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-06-28T09:38:49.006Z","etag":null,"topics":["digital-innovation-one","flask","python","rest-api"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/henriqueotogami.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","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},"funding":{"github":null,"patreon":null,"open_collective":null,"ko_fi":"henriqueotogami","tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"lfx_crowdfunding":null,"polar":null,"buy_me_a_coffee":null,"thanks_dev":null,"custom":null}},"created_at":"2020-09-09T22:39:55.000Z","updated_at":"2025-03-04T05:36:02.000Z","dependencies_parsed_at":null,"dependency_job_id":"7f742269-ad1d-4751-b8ba-fd130acba046","html_url":"https://github.com/henriqueotogami/flask-rest-api","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/henriqueotogami/flask-rest-api","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Fflask-rest-api","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Fflask-rest-api/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Fflask-rest-api/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Fflask-rest-api/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/henriqueotogami","download_url":"https://codeload.github.com/henriqueotogami/flask-rest-api/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/henriqueotogami%2Fflask-rest-api/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32243244,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-24T13:21:15.438Z","status":"ssl_error","status_checked_at":"2026-04-24T13:21:15.005Z","response_time":64,"last_error":"SSL_read: 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":["digital-innovation-one","flask","python","rest-api"],"created_at":"2024-11-05T23:29:54.016Z","updated_at":"2026-04-24T22:32:26.219Z","avatar_url":"https://github.com/henriqueotogami.png","language":"Python","funding_links":["https://ko-fi.com/henriqueotogami","https://ko-fi.com/henriquematheus"],"categories":[],"sub_categories":[],"readme":"# Flask REST API\n\n\u003e Projeto desenvolvido no Bootcamp Desenvolvedor Full Stack Python. API REST com Flask para gerenciamento de informações de desenvolvedores (nome e habilidades), com exemplos progressivos desde \"Hello World\" até CRUD completo.\n\n\u003cdiv align=\"center\"\u003e\n\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/github/release-date/henriquemap/flask-rest-api\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg alt=\"GitHub last commit\" src=\"https://img.shields.io/github/last-commit/henriquemap/flask-rest-api\"\u003e\n\u003cimg src=\"https://img.shields.io/github/issues/henriquemap/flask-rest-api\"\u003e\n\u003c/div\u003e\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cimg src=\"https://img.shields.io/github/forks/henriquemap/flask-rest-api?style=flat\"\u003e\n\u003cimg src=\"https://img.shields.io/github/stars/henriquemap/flask-rest-api?style=flat\"\u003e\n\u003c/div\u003e\n\u003cdiv align=\"center\"\u003e\n\u003cbr\u003e\n\u003c/div\u003e\n\n## 📋 Sobre o Projeto\n\nEste repositório contém o material e os códigos da aula de **Framework Flask e REST API**, ministrada por [Rafael Galeani](https://github.com/rafegal). Inclui uma API que gerencia informações de desenvolvedores (nome e habilidades), com exemplos em três níveis: introdução ao Flask, API de testes e API de desenvolvedores com operações GET, POST, PUT e DELETE.\n\n## 📁 Estrutura do Projeto\n\n### Olá Flask (`ola_flask/`)\n- **run.py** — Exemplo mínimo \"Hello World\" com Flask; primeira rota e execução do servidor.\n\n### Primeira API (`primeira_api/`)\n- **app.py** — Modelo de API para testes: rota com parâmetro (id), uso de `jsonify` e `request`, exemplo de soma via POST.\n\n### API de Desenvolvedores (`dev_api/`)\n- **app.py** — API principal: listagem e inclusão de desenvolvedores (GET/POST em `/dev/`), consulta, alteração e exclusão por ID (GET/PUT/DELETE em `/dev/\u003cid\u003e/`).\n\n### Documentação (raiz do repositório)\n- **theory.md** — Conceitos de API, REST, REST API, métodos HTTP, JSON e Flask.\n- **configuration-steps.md** — Passo a passo: PIP, ambiente virtual, instalação do Flask e uso do Postman.\n- **challenges.md** — Desafios propostos (ex.: API de cadastro de tarefas).\n\n## 📂 Estrutura do repositório\n\n```\nREADME.md\nrequirements.txt\ntheory.md\nconfiguration-steps.md\nchallenges.md\nola_flask/\n    run.py                 # Hello World Flask\nprimeira_api/\n    app.py                 # API de testes (jsonify, request, soma)\ndev_api/\n    app.py                 # API de desenvolvedores (CRUD)\n```\n\n## 🛠️ Tecnologias Utilizadas\n\n- **Python** — Linguagem de programação\n- **Flask** — Framework web para criação da API\n- **JSON** — Formato de dados da API\n- **Postman** — Ferramenta para testar requisições HTTP (GET, POST, PUT, DELETE)\n\n## 📝 Funcionalidades Principais\n\n### API de Desenvolvedores (`dev_api`)\n- **GET /dev/** — Listar todos os desenvolvedores\n- **POST /dev/** — Incluir novo desenvolvedor (nome e habilidades)\n- **GET /dev/\u003cid\u003e/** — Consultar desenvolvedor por ID\n- **PUT /dev/\u003cid\u003e/** — Alterar desenvolvedor por ID\n- **DELETE /dev/\u003cid\u003e/** — Excluir desenvolvedor por ID (tratamento de erros e mensagens de status)\n\n### Primeira API (`primeira_api`)\n- Resposta JSON com parâmetro de rota e exemplo de soma via POST.\n\n### Olá Flask (`ola_flask`)\n- Rota raiz retornando \"Hello World\".\n\n## 🚀 Como Executar\n\n### Pré-requisitos\n- Python 3.7+\n- pip\n\n### Instalação das dependências\n\n```bash\npip install -r requirements.txt\n```\n\n### Criação do ambiente virtual (recomendado)\n\n**Linux/macOS:**\n\n```bash\npython3 -m venv venv\nsource venv/bin/activate\npip install -r requirements.txt\n```\n\n**Windows:**\n\n```cmd\npython -m venv venv\nvenv\\Scripts\\activate\npip install -r requirements.txt\n```\n\n### Executando cada aplicação\n\n**Olá Flask:**\n\n```bash\ncd ola_flask\npython run.py\n# Acesse: http://127.0.0.1:5000/\n```\n\n**Primeira API:**\n\n```bash\ncd primeira_api\npython app.py\n# Rotas: http://127.0.0.1:5000/\u003cid\u003e e http://127.0.0.1:5000/soma (POST)\n```\n\n**API de Desenvolvedores:**\n\n```bash\ncd dev_api\npython app.py\n# Base URL: http://127.0.0.1:5000/dev/\n```\n\nUse o **Postman** (ou similar) para testar os métodos GET, POST, PUT e DELETE nas rotas indicadas.\n\n## 📚 Conteúdos Abordados\n\n- ✅ Conceitos de API, REST e REST API\n- ✅ Métodos HTTP (GET, POST, PUT, DELETE)\n- ✅ Uso de `jsonify` e `request` no Flask\n- ✅ Decoradores e rotas com parâmetros\n- ✅ Testes de API com Postman\n- ✅ Estrutura de respostas JSON e tratamento de erros\n\n## ⚙️ Como Funciona\n\n### API de Desenvolvedores\n1. Os dados são mantidos em uma lista em memória (`desenvolvedores`) com campos: `id`, `nome`, `habilidades`.\n2. **GET /dev/** retorna a lista completa em JSON.\n3. **POST /dev/** recebe JSON no body, atribui um `id` sequencial e adiciona à lista.\n4. **GET /dev/\u003cid\u003e/** retorna o desenvolvedor na posição `id` ou mensagem de erro se não existir.\n5. **PUT /dev/\u003cid\u003e/** substitui o registro na posição `id` pelos dados enviados no body.\n6. **DELETE /dev/\u003cid\u003e/** remove o registro na posição `id` e retorna confirmação.\n\n### Documentação adicional\n- **[Teoria](theory.md)** — Detalhamento dos conceitos (API, REST, HTTP, JSON, Flask).\n- **[Configuração](configuration-steps.md)** — PIP, ambiente virtual, Flask e Postman.\n- **[Desafios](challenges.md)** — Desafios propostos (ex.: API de tarefas).\n\n**Status dos desafios: 0 / 4**\n\n## 📄 Licença\n\nEste projeto não possui arquivo de licença definido. Para uso educacional no contexto do Bootcamp Desenvolvedor Full Stack Python.\n\n## 📖 Referências\n\n- Código-fonte em `ola_flask/`, `primeira_api/` e `dev_api/`\n- Documentação do [Flask](https://flask.palletsprojects.com/)\n- Material da aula — Bootcamp Desenvolvedor Full Stack Python (Rafael Galeani)\n\n---\n\n### Hashtags\n\n#Python #Flask #RESTAPI #Backend #APIREST #JSON #Postman #Bootcamp #FullStack #WebDevelopment #OpenSource #GitHub #CodeExamples #Learning #Developer\n\n### Meta Keywords\n\n```\nPython, Flask, REST API, API REST, JSON, Postman, Bootcamp Full Stack,\ndesenvolvedor Python, backend, métodos HTTP, GET POST PUT DELETE,\nCRUD, integração de APIs, código aberto\n```\n\n\u003cbr\u003e\n\u003cdiv align=\"center\"\u003e\n  \u003ca href=\"https://ko-fi.com/henriquematheus\" target=\"_blank\"\u003e\n    \u003cimg src=\"https://cdn.ko-fi.com/cdn/kofi3.png?v=3\" alt=\"Buy Me a Coffee at ko-fi.com\" width=\"200\" /\u003e\n  \u003c/a\u003e\n\u003c/div\u003e\n\n____\n\n**Desenvolvido por Henrique Matheus Alves Pereira**\n\n*Editor: Visual Studio Code | Tema: Monokai Pro | Extensões: Error Lens, Git Lens, Python*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenriqueotogami%2Fflask-rest-api","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhenriqueotogami%2Fflask-rest-api","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhenriqueotogami%2Fflask-rest-api/lists"}