Skip to content

fiwon123/markdown-checker-python

Repository files navigation

Sobre

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

Requisitos

  • Docker (Postgres e MinIO)

Opcional caso não queira usar Docker

  • Python
  • SQLite (banco de dados local para testes)
  • UV (gerenciador de packages)

Como Configurar as Variáveis de ambiente do arquivo .env

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

Como utilizar

  • Clone o projeto com o comando git clone https://github.com/fiwon123/markdown-checker-python ou baixe o projeto
  • Renomeie o arquivo .env.example para .env
  • Utilize o comando docker compose up --build no linux ou docker-compose up --build no windows
  • Caso queira testar direto a API é necessário uma plataforma de API para testes como Bruno, Postman ou rodar por linha de comando usando curl por exemplo

Endpoints /docs

Após rodar o app, para visualizar e testar todos os possíveis endpoints acesse em qualquer navegador a url http://localhost:8000/docs

Testes

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

About

Projeto de API para checar erros em arquivos .md

Topics

Resources

Stars

Watchers

Forks

Contributors