Este projeto é uma API desenvolvida com FastAPI para gerar certificados personalizados em formato PDF. A API utiliza modelos de certificados pré-definidos e permite adicionar o nome do destinatário e um número de série único em cada certificado.
- Geração de certificados com nome personalizado.
- Adição de número de série único no verso do certificado.
- Retentativas automáticas em caso de falhas, utilizando a biblioteca Tenacity.
- Retorno do certificado em formato PDF para download.
- Python: Linguagem de programação principal.
- FastAPI: Framework para construção da API.
- Pillow: Biblioteca para manipulação de imagens.
- FPDF: Biblioteca para geração de arquivos PDF.
- Tenacity: Biblioteca para implementar retentativas automáticas.
-
Clone o repositório:
git clone https://github.com/daviiisousa/api-certificado.git cd api-certificado -
Crie e ative um ambiente virtual:
python3 -m venv .venv source .venv/bin/activate -
Instale as dependências:
pip install -r requirements.txt
-
Execute a aplicação:
uvicorn main:app --reload
Gera um certificado personalizado.
- nome (string): Nome do destinatário do certificado.
{
"nome": "João da Silva"
}- Retorna um arquivo PDF com o certificado gerado.
main.py: Código principal da API.modelo_certificado_frente.png: Modelo da frente do certificado.modelo_certificado_verso.png: Modelo do verso do certificado.Montserrat-Bold.ttf: Fonte utilizada nos certificados.requirements.txt: Arquivo com as dependências do projeto.
Contribuições são bem-vindas! Sinta-se à vontade para abrir issues e enviar pull requests.
Este projeto está licenciado sob a licença MIT.