Geolocalização

Mapa

Geolocalização com Flask e SQLite: Crie uma API para Gerenciar Usuários

A geolocalização é uma funcionalidade essencial em muitas aplicações modernas. Seja para rastrear dispositivos, fornecer informações locais ou gerenciar dados de usuários, é crucial implementar uma solução eficiente. Neste post, mostramos como criar uma API em Python usando Flask e SQLite, permitindo o cadastro e gerenciamento de usuários com dados de localização.

Estrutura da API

Nossa API oferece operações CRUD (Create, Read, Update, Delete) para gerenciar uma tabela USUARIO. A tabela inclui os campos:

Para implementar essa API, usamos Flask para criar rotas HTTP e SQLite para armazenar os dados.

Configurando o Banco de Dados

O banco de dados é criado automaticamente com a estrutura adequada ao inicializar o sistema. A rota /initdb executa os scripts SQL definidos nos arquivos drop_schema.sql e create_schema.sql para garantir que a estrutura esteja pronta.

 

Map.js

Style.css

index.html

app.py

Nossa API oferece as seguintes rotas para interagir com os dados:

Adicione novos usuários enviando um JSON com os campos obrigatórios:

Na opção Salvar Nome o browser perguntará se você permiti dar o acesso da sua geolocalização.
Caso concorde será salvo na sua base de dados a sua geolocalização no mapa, mas para visualizar terá que atualizar a página.

Na rota “/usuarios” visualize todos os registros na base de dados.

Tomei a liberdade de adicionar alguns ícones no projeto para distinguir os seguintes tipos:

Basta cadastrar um dos tipos acima mencionados para colocar a geolocalização com um ícone respectivo ao tipo.

Use o Postman para executar as API’s.

Visualização

mapa

Conclusão

Com esta API, você inicia o trabalho de geolocalização e gerenciamento de usuários em suas aplicações.
Aproveite o código fornecido para construir soluções mais inteligentes e conectadas!

Paginas Estáticas e Dinâmicas com CSS Global no Flask

Flask com estilo

Compreenda as diferenças entre páginas estáticas e dinâmicas, bem como o uso de um CSS global. Além disso, a tecnologia Flask, uma estrutura leve em Python para aplicações web, fornece ferramentas para implementar ambas as abordagens de maneira eficiente. Ademais, permite o uso de um CSS global para estilização consistente. Assim, este texto explora essas diferenças, o uso do Flask e como gerenciar um CSS global para uma aplicação bem organizada e visualmente atraente.

Páginas estáticas são aquelas cujo conteúdo é fixo e não muda. Por outro lado, páginas dinâmicas ajustam seu conteúdo com base em interações do usuário, entradas de dados ou informações vindas de um banco de dados ou API. Portanto, essas páginas permitem uma experiência personalizada e interativa.

No caso do Flask, isso é alcançado usando templates dinâmicos com o mecanismo Jinja2. Com ele, é possível inserir variáveis no HTML, criar lógicas condicionais e adicionar laços dentro dos templates. Dessa forma, o Flask proporciona flexibilidade e eficiência na construção de aplicações web. Consequentemente, ele atende tanto a demandas estáticas quanto dinâmicas. Além do mais, o uso de CSS global garante consistência visual em toda a aplicação.

O Flask e a Organização de Arquivos

Antes de implementar páginas estáticas e dinâmicas, é importante entender como organizar os arquivos em um projeto Flask.
Uma estrutura típica de projeto pode ser:

  • app.py: Contém a lógica principal da aplicação Flask.
  • static/: Diretório para arquivos estáticos como CSS, JavaScript e imagens.
  • templates/: Diretório para arquivos HTML.

Criando um CSS Global

O CSS global é um arquivo de estilização que será aplicado a todas as páginas da aplicação, garantindo consistência visual.
No diretório static/css/, crie um arquivo chamado styles.css com o seguinte conteúdo:

  1. Referenciar o CSS no Template Base:

No diretório templates/, crie um arquivo base.html que servirá como modelo base para outras páginas:

Criando Páginas Estáticas no Flask

Com o template base configurado, criar páginas estáticas é simples. Por exemplo, crie uma página index.html

No app.py, registre a rota correspondente:

Criando Páginas Dinâmicas no Flask

Para uma página dinâmica, crie um arquivo dynamic.html:

Atualize o app.py para passar dados dinâmicos:

 

Quando o usuário acessar a rota /dynamic/SeuNome, o Flask renderizará a página dinâmica com os dados fornecidos.

Vantagens de um CSS Global

  • Consistência Visual: Todas as páginas compartilham a mesma estilização, criando uma experiência uniforme.
  • Facilidade de Manutenção: Alterar uma regra CSS afeta todas as páginas simultaneamente.
  • Organização: Um arquivo centralizado evita redundância de código.
Referências: