GithubHelp home page GithubHelp logo

piedro404 / flask-api-structure Goto Github PK

View Code? Open in Web Editor NEW
2.0 1.0 0.0 27 KB

Repositório dedicado a exemplificar e facilitar o início de projetos Flask para APIs 💫. Clone e inicie seus próprios desenvolvimentos com facilidade 🚀.

Python 84.51% HTML 15.49%
api flask python web

flask-api-structure's Introduction

Flask API - Estrutura Base para Projetos 🧱

Repositório dedicado a exemplificar e facilitar o início de projetos Flask para APIs 💫. Clone e inicie seus próprios desenvolvimentos com facilidade 🚀.

Estrutura Organizada e Escalavel. 😎📱

Estrutura

2024-03-09_17h53_25

Detalhes

  • Controllers: Contém os controladores que gerenciam a lógica da aplicação, conectando as rotas às operações específicas.
  • Drivers: Armazena os drivers e bibliotecas necessários para conectar e operar com outros serviços ou hardware.
  • Errors: Define tipos específicos de erros e exceções personalizadas que podem ser acionadas durante a execução do código.
  • Main: É o ponto de entrada principal do aplicativo. Dentro desta pasta, “Routes” gerencia as rotas da API e “Server” é responsável por iniciar e gerenciar o servidor web.
  • Models: Contém os modelos de dados, geralmente classes que representam as tabelas no banco de dados.
  • Static: Armazena arquivos estáticos como CSS, JS, imagens, etc., que são necessários para renderizar páginas web front-end.
  • Templates: Mantém templates HTML e documentação relacionada à estrutura ou uso da API.
  • Validators: Inclui scripts ou módulos para validar dados de entrada ou requisições à API.
  • Views: Define diferentes tipos de respostas HTTP e views associadas à lógica da apresentação.

Recursos da Estrutura da API 🔨

  • Info: Dá as suas Boas-Vindas e traz informações relevantes sobre a API e Contatos.
  • Docs: Local para aprender sobre a API e como utilizar de forma interativa e dinâmica.
  • Favicon.ico: Icone para ser apresentado e visualizado na janela do Web Site.

Principais Tecnologias Utilizadas 🌐

  • Flask: Framework utilizado para o desenvolvimento de aplicações web, proporcionando uma estrutura flexível e eficiente para a criação de APIs e interfaces de usuário.
  • Python: Linguagem de programação principal, escolhida pela sua versatilidade, simplicidade e vasta comunidade de desenvolvedores.
  • Cerberus: Biblioteca de validação de dados em Python, empregada para garantir a integridade e consistência dos dados manipulados pela aplicação.
  • Outras Bibliotecas: O resto das bibliotecas pode ser encontradas no requirements.txt, incluindo diversas ferramentas e utilitários que complementam e aprimoram as funcionalidades da aplicação.

Documentação 📃

API:

Uma API (Interface de Programação de Aplicações) é um conjunto de regras e definições que permite a comunicação entre diferentes softwares. Ela possibilita que aplicações e serviços troquem informações e funcionalidades de forma eficiente e padronizada.

Principais Usos no Desenvolvimento:

  1. Integração de Serviços: As APIs facilitam a integração entre diferentes serviços e plataformas, permitindo que aplicativos compartilhem dados e funcionalidades.
  2. Desenvolvimento de Aplicações Móveis: APIs são fundamentais para o desenvolvimento de aplicativos móveis, permitindo acesso a recursos como localização, câmera, notificações, entre outros.
  3. Acesso a Dados Externos: Utilizadas para obter dados de fontes externas, como redes sociais, bancos de dados, serviços de terceiros, proporcionando informações atualizadas.
  4. Integração com Plataformas Web: APIs são cruciais para a integração de aplicações web, possibilitando a comunicação eficiente entre o front-end e o back-end.
  5. Desenvolvimento de Microsserviços: Em arquiteturas de microsserviços, as APIs são essenciais para a comunicação entre os diversos componentes distribuídos de uma aplicação.
  6. Automatização de Tarefas: APIs permitem a automatização de tarefas rotineiras, otimizando processos e melhorando a eficiência operacional.
  7. Desenvolvimento de Plugins e Extensões: São utilizadas para criar plugins e extensões em diversas plataformas, ampliando as funcionalidades de softwares existentes.
  8. Economia de Recursos: Facilitam o desenvolvimento ao permitir o reuso de funcionalidades já implementadas, economizando tempo e recursos.

Como usar 💁‍♀️

  1. Rota Principal ("/"): Retorna um Template que renderiza a Documentação Swagger.
    (http://127.0.0.1:3000)
2024-03-09_18h21_55
  1. Rota Informações da API ("/info"): Retorna um JSON com informações sobre a API.
    (http://127.0.0.1:3000/info)
{
    "status": True,
    "message": "Welcome to the Structure Flask API!",
    "version": "1.0v",
    "endpoints": {
        "docs": "/",
        "info": "/info",
    },
    "documentation": "/",
    "contact": {
        "email_personal": "[email protected]",
        "email_academic": "[email protected]",
        "github": "piedro404",
        "linkedin": "pedrohenrique404"
    }
}

Como Executar o Projeto Localmente 🛠️

  1. Clone este repositório:
   git clone https://github.com/piedro404/flask-api-structure.git
  1. Ambiente Virtualizado (Opcional) Para organização e facilitar em rodar o projeto, sugiro criar um ambiente virtualizado. Para isso, basta usar o comando abaixo:
  python -m venv .venv
  .venv\Scripts\activate
  1. Instale as dependências:
   pip install -r requirements.txt
  1. Execute a aplicação:
   python run.py

Sobre 📒

Obrigado a todos, desejo ótimos estudos, caso queira, entre em contato em [email protected];

flask-api-structure's People

Contributors

piedro404 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.