Skip to content

bhunao/contact_csv_parser

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Persons CSV Parser

Arquitetura

Tecnologías

Design

O projeto foi criado utilizando tecnologías simples e que entregam, assim facilitando a velocidade de desenvolvimento e adição de novas funcionalidades. Tudo isso dentro da container do Docker para facilitar o desenvolvimento em ambientes diferentes.

Front-End

No front-end foi utilizado Bootstrap para estilização e responvidade da aplicação. Jinja2Fragments é utilizado para o backend retornar a pagina HTML ao usuário, diferente do Jinja ele pode retornar sómente blocos de HTML gerados no Jinja fazendo com que seja possivel criar junto com HTMX paginas que consigam conectar com o backend diretamente sem a necessidade de ter uma aplicação separada para o front-end já que HTMX te da acesso a AJAX, transições CSS, WebSockets e Server Sent Events direto no HTML.

Back-End

No back-end foi utilizado FastAPI um framework moderno de alta performance para construção de APIs, junto com ele também é utilizado o framework Pydantic para validação de dados e por ultimo Motor para conexão asyncrona com banco de dados para poder aproveitar a asyncronissidade do FastAPI.

Mongo-Express

Imagem docker utilizada no desenvolvimento para facilitar o desenvolvimento com mongodb.

Rodando o Projeto

Variáveis de Ambiente

O projeto utiliza de algumas variáveis de ambiente que ficam no arquivo .env. No repositório existe um arquivo de exemplo com nome de .env_example que contem as variáveis de ambiente necessárias para rodar o projeto que são MONGO_INITDB_ROOT_USERNAME e MONGO_INITDB_ROOT_PASSWORD para uso do banco de dados.

Para rodar o projeto é necessário ter o docker instalado e rodar os seguintes comandos:
docker compose build
docker compose up

depois só acessar localhost na porta 8777 http://localhost:8777/persons/

Testes

No projeto existem testes criados com PyTest para os endpoints da API, todos os testes testam status code e a template retornada ao acessar o endpoint.

Para rodar os testes dentro do docker basta rodar o comando:
docker compose exec web pytest -v

O Projeto

Adicionar arquivo

index

Menu expandivel

index

Tabela de Contatos

contact

Informações do Contato

contat data

Changelog Mudanças no Contato

changelog

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published