Projeto de API para checar erros em arquivos .md. Este projeto foi desenvolvido utilizando o padrão de projeto em camadas com dentro da pasta "app" com routers, services, tests e demais scripts separados como logger, exceptions, models, dentre outros.
Além da criação de um DockerFile com Docker Compose para rodar o projeto de forma mais fácil com Postgres, MinIO (servidor de armazenamento de objetos compatível com o S3) e a API (app)
Descrição do projeto: https://roadmap.sh/projects/markdown-note-taking-app
- Docker (Postgres e MinIO)
- Python
- SQLite (banco de dados local para testes)
- UV (gerenciador de packages)
MinIO é o servidor para armazenamento dos arquivos .md do projeto. Pode-se configurar usando as seguintes variáveis:
# MINIO
MINIO_ENDPOINT=minio:9000
MINIO_ACCESS_KEY=minioadmin
MINIO_SECRET_KEY=minioadmin
MINIO_SECURE=False
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin
Postgres é o banco de dados das informações dos arquivos .md. Pode-se configurar usando as seguintes variáveis:
# POSTGRES
POSTGRES_HOST=postgres
POSTGRES_USER=postgres
POSTGRES_PASSWORD=password
POSTGRES_DB=mydb
POSTGRES_PORT=5432
Caso queira criar um frontend para teste, configure usando as seguinte variável do CORS:
# FRONT END
ALLOWED_ORIGINS=http://localhost:3000
- Clone o projeto com o comando
git clone https://github.com/fiwon123/markdown-checker-pythonou baixe o projeto - Renomeie o arquivo
.env.examplepara.env - Utilize o comando
docker compose up --buildno linux oudocker-compose up --buildno windows - Caso queira testar direto a API é necessário uma plataforma de API para testes como
Bruno,Postmanou rodar por linha de comando usandocurlpor exemplo
Após rodar o app, para visualizar e testar todos os possíveis endpoints acesse em qualquer navegador a url http://localhost:8000/docs
Os arquivos de testes estão localizados na pasta ./app/tests/
Estando na pasta raiz (fora da pasta app) utilize o comando pytest para rodar todos os testes implementados