Skip to content

pt: Faz leitura de arquivos csv, gera certificados no formato pdf com uma imagem jpg de fundo e os envia por email. en: Reads csv files, generates certificates in pdf format with a jpg background image and sends them by email.

License

Notifications You must be signed in to change notification settings

somosprte/certificate-generator-email

Repository files navigation

GitHub language count Repository size Siga no Twitter GitHub last commit License Stargazers

🇧🇷🇵🇹 Português

Faz leitura de arquivos csv, gera certificados no formato pdf com uma imagem jpg de fundo e os envia por email.

Tabela de conteúdos

==================

⚙️ Funcionalidades

  • Faz a leitura de arquivos csv.
  • Gera certificado no formato PDF usando imagem JPG de fundo.
  • Envia email com o arquivo do certificado anexo.

🚀 Como executar o projeto

Pré-requisitos

Desde que você tenha instalado no seu computador o VSCode e a extensão Remote-Containers, não tem pré-requisito algum, é só rodar o projeto! 😲

Se você quiser ler um pouco mais sobre esse assunto, acesse "Em busca da independência para o ambiente de desenvolvimento".

Instruções:

# Clone este repositório
$ git clone https://github.com/somosprte/certificate-generator-email.git

# Acesse a pasta do projeto no terminal/cmd
$ cd certificate-generator-email

# Abra o projeto com o VSCode
$ code .

Quando o VSCode abrir você verá uma mensagem informando que foram detectadas as configurações necessárias para que a extensão Remote-Containers faça a mágica acontecer.

Remote Containers Dialog

Clique em "Reopen in Container". O VSCode vai reiniciar e é só aguardar o ambiente ficar pronto para você. Pode demorar um pouco na primeira vez se você nunca tiver feito o download dos containers necessários 🕐. Mas vale a pena!

Quando finalizar, você terá um terminal dentro do VSCode que já está dentro do container. Tudo integrado! Tipo Inception mesmo 🍿.

💡 Tudo que você executar nesse terminal será executado dentro do container apenas!

Então vamos ao útlimo passo:

# Inicie a aplicação
$ yarn start

Usando o Insomnia, ou outro cliente para APIs, faça uma requisição do tipo POST para https://localhost:3333/generate com os seguintes parâmetros:

{
	"csv": "example.csv", 
	"jpg": "example.jpg",
	"event": "Evento Teste",
	"email": true
}
parâmetro tipo descrição
csv text nome do arquivo csv que você utilizará e que deve estar na pasta raiz do projeto
jpg text nome do arquivo jpg que você utilizará como fundo do certificado e que deve estar dentro da pasta resources/assets
email boolean enviar email para o participante dono do certificado

Existem exemplos de como devem ser os arquivos csv e jpg nesse repositório.

Para o envio de email será preciso alterar as seguintes variáveis de ambiente:

SMTP_HOST = smtp.host.com
SMTP_PORT = 587
MAIL_USERNAME = [email protected]
MAIL_PASSWORD = yourpassword

Os certificados serão gerados no formato PDF na pasta tmp

💪 Como contribuir no projeto

  1. Faça um fork do projeto.

  2. Crie uma nova branch com as suas alterações: git checkout -b my-feature

  3. Salve as alterações e crie uma mensagem de commit contando o que você fez: git commit -m "feature: My new feature"

  4. Envie as suas alterações: git push origin my-feature

Caso tenha alguma dúvida confira este guia de como contribuir no GitHub


📝 Licença

Este projeto esta sobe a licença MIT.

Feito com ❤️ por PRTE - Tecnologia e Soluções 👋🏽 Entre em contato!


🌎 English

Reads csv files, generates certificates in pdf format with a jpg background image and sends them by email.

Tabela de conteúdos

=================

⚙️ Features

  • Reads csv files.
  • Generates certificate in PDF format using JPG background image.
  • Sends email with the attached certificate file

🚀 How it works

Pré-requisitos

If you have VSCode and the Remote-Containers extension installed on your computer, there is no other prerequisite. Just run the project! 😲

If you want to read a little more about it, just go to "Em busca da independência para o ambiente de desenvolvimento".

Steps:

# Clone this repository
$ git clone https://github.com/somosprte/certificate-generator-email.git

# Open the project folder in the terminal
$ cd certificate-generator-email

# Open the project with VSCode
$ code .

When VSCode opens, you will see a message stating that the necessary settings have been detected for the Remote-Containers extension to make the magic happen.

Remote Containers Dialog

Click on “Reopen in Container”. The VSCode will restart. Just wait for the environment to get ready for you. It may take a while during the first time, specially if you have never downloaded the necessary containers 🕐. But it's worth it!

Once done, you will have a terminal inside the VSCode that is already inside the container. Everything integrated! Like Inception 🍿.

💡 Everything you do in this terminal will be done only inside the container!

# Start the application
$ yarn start

Using Insomnia, or another API client, make a POST request o https://localhost:3333/generate with the payload:

{
	"csv": "example.csv", 
	"jpg": "example.jpg",
	"event": "Evento Teste",
	"email": true
}
parameter type description
csv text csv filename in project root
jpg text jpg filename to background certificate in resources/assets path
email boolean send mail to certificate owner

There are examples of what the csv and jpg files should look like in this repository.

To send e-mail, you need to change the following environment variables:

SMTP_HOST = smtp.host.com
SMTP_PORT = 587
MAIL_USERNAME = [email protected]
MAIL_PASSWORD = yourpassword

Certificates PDF files will be generated in the folder tmp in project root

💪 How to contribute

  1. Fork the project.
  2. Create a new branch with your changes: git checkout -b my-feature
  3. Save your changes and create a commit message telling you what you did: git commit -m" feature: My new feature "
  4. Submit your changes: git push origin my-feature

If you have any questions check this guide on how to contribute


📝 License

This project is under the license MIT.

Made with ❤️ by PRTE - Tecnologia e Soluções 👋🏽 Get in Touch!


About

pt: Faz leitura de arquivos csv, gera certificados no formato pdf com uma imagem jpg de fundo e os envia por email. en: Reads csv files, generates certificates in pdf format with a jpg background image and sends them by email.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published