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
==================
- Faz a leitura de arquivos csv.
- Gera certificado no formato PDF usando imagem JPG de fundo.
- Envia email com o arquivo do certificado anexo.
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.
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
-
Faça um fork do projeto.
-
Crie uma nova branch com as suas alterações:
git checkout -b my-feature
-
Salve as alterações e crie uma mensagem de commit contando o que você fez:
git commit -m "feature: My new feature"
-
Envie as suas alterações:
git push origin my-feature
Caso tenha alguma dúvida confira este guia de como contribuir no GitHub
Este projeto esta sobe a licença MIT.
Feito com ❤️ por PRTE - Tecnologia e Soluções 👋🏽 Entre em contato!
Reads csv files, generates certificates in pdf format with a jpg background image and sends them by email.
Tabela de conteúdos
=================
- Reads csv files.
- Generates certificate in PDF format using JPG background image.
- Sends email with the attached certificate file
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.
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
- Fork the project.
- Create a new branch with your changes:
git checkout -b my-feature
- Save your changes and create a commit message telling you what you did:
git commit -m" feature: My new feature "
- Submit your changes:
git push origin my-feature
If you have any questions check this guide on how to contribute
This project is under the license MIT.
Made with ❤️ by PRTE - Tecnologia e Soluções 👋🏽 Get in Touch!