SlideShare uma empresa Scribd logo
1 de 29
Baixar para ler offline
Site estático e Opções de
Hospedagem Gratuita
Por: Danilo Pinotti
Marcelo Vichar
Introdução
Danilo Pinotti
- danilopinotti.com.br
- github.com/danilopinotti
Arquiteto de Software (PUC MINAS, 2022)
Tecnólogo em Sistemas para Internet (UTFPR, 2017)
Desenvolvedor Sênior na empresa Let’s Sistemas
(Atualmente)
Co-fundador e Desenvolvedor Web/IoT na Trigy
(Atualmente)
Marcelo Vichar
- github.com/MarceloVichar
Graduando em Sistemas para Internet
(UTFPR, formação em Julho/2024)
Desenvolvedor na empresa Let’s Sistemas
(Agosto 2022 - Atualmente)
Estamos Contratando!
Tópicos
Sites estáticos
- O que é um site estático
- Desenvolvimento de um site estático
Deploy
- Histórico de deploys de sites
- Como funciona a hospedagem para sites estáticos
Opções de Hospedagem gratuita
- Github Pages
- Cloudflare
- Firebase
- Vercel
- Netlify
Sites
Estáticos
Um site estático é composto por páginas da web que são pré-renderizadas e
armazenadas como arquivos HTML, CSS e JavaScript.
Essas páginas não dependem de um servidor ou banco de dados para gerar
conteúdo dinamicamente em resposta a solicitações do usuário.
Em vez disso, o conteúdo permanece inalterado, a menos que seja
explicitamente atualizado.
Definição
Um site estático é aquele com conteúdo estável, onde cada usuário vê
exatamente o mesmo conteúdo em suas páginas.
Já um site dinâmico é aquele em que o conteúdo é carregado de forma dinâmica,
permitindo que ele mude de acordo com o usuário e suas informações.
Site Estático x Site Dinâmico
● Carregamento rápido
● Baixo custo de hospedagem
● Segurança aprimorada
● Desenvolvimento rápido
Vantagens de um site estático
● Blogs;
● Sites empresariais;
● Portfólios e currículos;
● Sites de eventos;
● Landing Pages;
● etc.
Casos de uso
● Geradores de sites estáticos
● Implementação de código
Maneiras de desenvolver um site estático
Geradores de sites estáticos
Implementação
My Blog
https://bit.ly/sw2-blog
https://github.com/MarceloVichar/nuxt3-content
Prática
Deploy
Deploy ou Deployment
No que diz respeito a software e desenvolvimento web significa enviar mudanças
ou atualizações de um ambiente de implantação para outro, podendo ser o
principal (produção) ou algum intermediário.
- Desenvolvimento -> Homologação
- Homologação -> Produção
- etc
Deploy: O que é?
- VPS (Virtual Private Server) + FTP (File Transfer Protocol)
- VPS + Git
- VPS + …
- Containers ou Pods (Docker / Kubernetes)
- Serverless
Deploy: Principais Métodos
Quais ambientes o sistema precisa?
Desenvolvimento
Ambiente que está sempre atualizado com o código mais atualizado de
desenvolvimento. Normalmente instável.
Deploy: Definição dos ambientes
Quais ambientes o sistema precisa?
Homologação / Testes / Staging
Ambiente onde outros membros da equipe conseguem acesso para
poderem realizar testes e validações das funcionalidades desenvolvidas.
Este ambiente também pode ser utilizado para homologação de alguma
integração, logo, ocasionalmente, terceiros também têm acesso.
Último ambiente antes de ir para produção
Deploy: Definição dos ambientes
Produção
Ambiente de produção, onde, de fato, o sistema será utilizado pelos
usuários reais.
Maior esforço na configuração da infra-estrutura
- Disponibilidade;
- Escalabilidade Horizontal ou Vertical;
- Consistência;
- Segurança;
- Backup.
Deploy: Definição dos ambientes
Opções
gratuitas para
hospedagem
Firebase
Conjunto de serviços de computação em nuvem de back-end e plataformas
de desenvolvimento de aplicativos fornecidos pelo Google
- Banco de dados em tempo real
- Autenticação
- Funções
- Cloud Messages (Push Messages)
- Hospedagem
Link: https://console.firebase.google.com/
Github Pages
Hospedagem do próprio Github a partir de um repositório
No plano gratuito, sites ficam associados ao seu nome de usuário:
- Exemplo: https://danilopinotti.github.io/
Link: https://pages.github.com/
Cloudflare
O Cloudflare é um pacote de serviços que parte de um CDN, oferecendo além
disso proteção e segurança para sites.
É um “Canivete suiço” de serviços voltados à ambientes cloud, como Proxy,
DNS, Roteamento, otimização, etc.
Além disso, a Cloudflare também fornece um serviço de hospedagem
gratuito para sites estáticos junto com uma integração direta com
repositórios no Github
Link: https://cloudflare.com
Netlify
É uma plataforma de computação em nuvem que oferece vários serviços.
Uma das propostas é que você consiga fazer o deploy de uma aplicação de
forma simples, rápida e segura.
Link: https://www.netlify.com/
Vercel
Empresa por trás do Next.JS
Integração direta com repositórios no Github
Oferece suporte a aplicativos estáticos e híbridos:
- Serverless
- Banco de dados headless
- Hospedagem de aplicações estáticas
- Hospedagem de sistemas híbridos
Link: https://vercel.com/
Dúvidas?
Obrigado!
Danilo Pinotti
- danilopinotti.com.br
- github.com/danilopinotti
Marcelo Vichar
- github.com/MarceloVichar

Mais conteúdo relacionado

Semelhante a Opções gratuitas para hospedagem de sites estáticos

Palestra de Windows Server 2016
Palestra de Windows Server 2016Palestra de Windows Server 2016
Palestra de Windows Server 2016Fábio dos Reis
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Marcus Garcia
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Valmir Justo
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaRodrigo Marques Teixeira
 
Como um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoComo um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoDavid Robert Camargo de Campos
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
Quasar Framework - Front end de alto desempenho
Quasar Framework - Front end de alto desempenhoQuasar Framework - Front end de alto desempenho
Quasar Framework - Front end de alto desempenhoPatrick Monteiro
 
DevOps & Docker com a stack Microsoft
DevOps & Docker com a stack MicrosoftDevOps & Docker com a stack Microsoft
DevOps & Docker com a stack MicrosoftGraziella Bonizi
 
DevOps: desenvolvedores e sysadmins cooperando na prática
DevOps: desenvolvedores e sysadmins cooperando na práticaDevOps: desenvolvedores e sysadmins cooperando na prática
DevOps: desenvolvedores e sysadmins cooperando na práticaAri Stopassola Junior
 
Administração de portais
Administração de portaisAdministração de portais
Administração de portaisFelipe Perin
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021Renato Groffe
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...Renato Groffe
 
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHRenato Groff
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Daniel Makiyama
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Renato Groff
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...Renato Groff
 
Introdução ao desenvolvimento de páginas web estáticas
Introdução ao desenvolvimento de páginas web estáticasIntrodução ao desenvolvimento de páginas web estáticas
Introdução ao desenvolvimento de páginas web estáticasSusana Oliveira
 

Semelhante a Opções gratuitas para hospedagem de sites estáticos (20)

Palestra de Windows Server 2016
Palestra de Windows Server 2016Palestra de Windows Server 2016
Palestra de Windows Server 2016
 
Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1) Azure e suas vantagens (Palestra 1)
Azure e suas vantagens (Palestra 1)
 
Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.Desenvolvimento web - conceitos, tecnologia e tendências.
Desenvolvimento web - conceitos, tecnologia e tendências.
 
ASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e alémASP.NET 5, MVC 6 e além
ASP.NET 5, MVC 6 e além
 
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / GoiâniaAzure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
Azure Bootcamp 2018 - DevOps para profissionais de Infra - Infomach / Goiânia
 
SpugRIA
SpugRIASpugRIA
SpugRIA
 
Como um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenhoComo um grande sistema REST funciona - arquitetura e desempenho
Como um grande sistema REST funciona - arquitetura e desempenho
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Quasar Framework - Front end de alto desempenho
Quasar Framework - Front end de alto desempenhoQuasar Framework - Front end de alto desempenho
Quasar Framework - Front end de alto desempenho
 
DevOps & Docker com a stack Microsoft
DevOps & Docker com a stack MicrosoftDevOps & Docker com a stack Microsoft
DevOps & Docker com a stack Microsoft
 
DevOps: desenvolvedores e sysadmins cooperando na prática
DevOps: desenvolvedores e sysadmins cooperando na práticaDevOps: desenvolvedores e sysadmins cooperando na prática
DevOps: desenvolvedores e sysadmins cooperando na prática
 
Administração de portais
Administração de portaisAdministração de portais
Administração de portais
 
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
Boas Práticas em Aplicações na Nuvem: Twelve-Factor App | TDC Connections 2021
 
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
ASP.NET Core + Docker Compose: deployment descomplicado com containers - .NET...
 
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BHCloud Solutions com o Microsoft Azure - TDC Online Especial BH
Cloud Solutions com o Microsoft Azure - TDC Online Especial BH
 
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
Aprendendo Na Prática: Aplicativos Web com HTML5, Angular.js, Twitter Bootstr...
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
Alternativas para a Implementação de Microservices no Microsoft Azure - Novem...
 
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 Alternativas para a Implementação de Microservices no Microsoft Azure - Jane... Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
Alternativas para a Implementação de Microservices no Microsoft Azure - Jane...
 
Hands-On – ExtJS
Hands-On – ExtJSHands-On – ExtJS
Hands-On – ExtJS
 
Introdução ao desenvolvimento de páginas web estáticas
Introdução ao desenvolvimento de páginas web estáticasIntrodução ao desenvolvimento de páginas web estáticas
Introdução ao desenvolvimento de páginas web estáticas
 

Mais de Danilo Pinotti

Vue 2 - Componentes [2 de 2 - 2020]
Vue 2 - Componentes [2 de 2 - 2020]Vue 2 - Componentes [2 de 2 - 2020]
Vue 2 - Componentes [2 de 2 - 2020]Danilo Pinotti
 
Vue - Básico sobre Vue [1 de 2 - 2020]
Vue - Básico sobre Vue [1 de 2 - 2020]Vue - Básico sobre Vue [1 de 2 - 2020]
Vue - Básico sobre Vue [1 de 2 - 2020]Danilo Pinotti
 
Minicurso de Expressões Regulares (REGEX)
Minicurso de Expressões Regulares (REGEX)Minicurso de Expressões Regulares (REGEX)
Minicurso de Expressões Regulares (REGEX)Danilo Pinotti
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Danilo Pinotti
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACDanilo Pinotti
 
Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2Danilo Pinotti
 
O básico sobre Vue 2. Talk Vue Básico 1/3
O básico sobre Vue 2. Talk Vue Básico 1/3O básico sobre Vue 2. Talk Vue Básico 1/3
O básico sobre Vue 2. Talk Vue Básico 1/3Danilo Pinotti
 
Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3
Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3
Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3Danilo Pinotti
 
Alguns Helpers do Laravel 5.6
Alguns Helpers do Laravel 5.6Alguns Helpers do Laravel 5.6
Alguns Helpers do Laravel 5.6Danilo Pinotti
 
Deixando aplicações Laravel mais rápidas
Deixando aplicações Laravel mais rápidasDeixando aplicações Laravel mais rápidas
Deixando aplicações Laravel mais rápidasDanilo Pinotti
 

Mais de Danilo Pinotti (12)

Do Zero à Produção
Do Zero à ProduçãoDo Zero à Produção
Do Zero à Produção
 
Vue 2 - Componentes [2 de 2 - 2020]
Vue 2 - Componentes [2 de 2 - 2020]Vue 2 - Componentes [2 de 2 - 2020]
Vue 2 - Componentes [2 de 2 - 2020]
 
Vue - Básico sobre Vue [1 de 2 - 2020]
Vue - Básico sobre Vue [1 de 2 - 2020]Vue - Básico sobre Vue [1 de 2 - 2020]
Vue - Básico sobre Vue [1 de 2 - 2020]
 
Code Review
Code ReviewCode Review
Code Review
 
Minicurso de Expressões Regulares (REGEX)
Minicurso de Expressões Regulares (REGEX)Minicurso de Expressões Regulares (REGEX)
Minicurso de Expressões Regulares (REGEX)
 
Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)Minicurso GIT Completo (2022)
Minicurso GIT Completo (2022)
 
Minicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENACMinicurso GIT 2022 - SENAC
Minicurso GIT 2022 - SENAC
 
Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2Talk sobre testes automatizados. Parte 1/2
Talk sobre testes automatizados. Parte 1/2
 
O básico sobre Vue 2. Talk Vue Básico 1/3
O básico sobre Vue 2. Talk Vue Básico 1/3O básico sobre Vue 2. Talk Vue Básico 1/3
O básico sobre Vue 2. Talk Vue Básico 1/3
 
Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3
Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3
Comunicação entre componentes com Vue 2. Talk Vue Básico 2/3
 
Alguns Helpers do Laravel 5.6
Alguns Helpers do Laravel 5.6Alguns Helpers do Laravel 5.6
Alguns Helpers do Laravel 5.6
 
Deixando aplicações Laravel mais rápidas
Deixando aplicações Laravel mais rápidasDeixando aplicações Laravel mais rápidas
Deixando aplicações Laravel mais rápidas
 

Opções gratuitas para hospedagem de sites estáticos

  • 1. Site estático e Opções de Hospedagem Gratuita Por: Danilo Pinotti Marcelo Vichar
  • 3. Danilo Pinotti - danilopinotti.com.br - github.com/danilopinotti Arquiteto de Software (PUC MINAS, 2022) Tecnólogo em Sistemas para Internet (UTFPR, 2017) Desenvolvedor Sênior na empresa Let’s Sistemas (Atualmente) Co-fundador e Desenvolvedor Web/IoT na Trigy (Atualmente)
  • 4. Marcelo Vichar - github.com/MarceloVichar Graduando em Sistemas para Internet (UTFPR, formação em Julho/2024) Desenvolvedor na empresa Let’s Sistemas (Agosto 2022 - Atualmente)
  • 6. Tópicos Sites estáticos - O que é um site estático - Desenvolvimento de um site estático Deploy - Histórico de deploys de sites - Como funciona a hospedagem para sites estáticos Opções de Hospedagem gratuita - Github Pages - Cloudflare - Firebase - Vercel - Netlify
  • 8. Um site estático é composto por páginas da web que são pré-renderizadas e armazenadas como arquivos HTML, CSS e JavaScript. Essas páginas não dependem de um servidor ou banco de dados para gerar conteúdo dinamicamente em resposta a solicitações do usuário. Em vez disso, o conteúdo permanece inalterado, a menos que seja explicitamente atualizado. Definição
  • 9. Um site estático é aquele com conteúdo estável, onde cada usuário vê exatamente o mesmo conteúdo em suas páginas. Já um site dinâmico é aquele em que o conteúdo é carregado de forma dinâmica, permitindo que ele mude de acordo com o usuário e suas informações. Site Estático x Site Dinâmico
  • 10. ● Carregamento rápido ● Baixo custo de hospedagem ● Segurança aprimorada ● Desenvolvimento rápido Vantagens de um site estático
  • 11. ● Blogs; ● Sites empresariais; ● Portfólios e currículos; ● Sites de eventos; ● Landing Pages; ● etc. Casos de uso
  • 12. ● Geradores de sites estáticos ● Implementação de código Maneiras de desenvolver um site estático
  • 13. Geradores de sites estáticos
  • 17. Deploy ou Deployment No que diz respeito a software e desenvolvimento web significa enviar mudanças ou atualizações de um ambiente de implantação para outro, podendo ser o principal (produção) ou algum intermediário. - Desenvolvimento -> Homologação - Homologação -> Produção - etc Deploy: O que é?
  • 18. - VPS (Virtual Private Server) + FTP (File Transfer Protocol) - VPS + Git - VPS + … - Containers ou Pods (Docker / Kubernetes) - Serverless Deploy: Principais Métodos
  • 19. Quais ambientes o sistema precisa? Desenvolvimento Ambiente que está sempre atualizado com o código mais atualizado de desenvolvimento. Normalmente instável. Deploy: Definição dos ambientes
  • 20. Quais ambientes o sistema precisa? Homologação / Testes / Staging Ambiente onde outros membros da equipe conseguem acesso para poderem realizar testes e validações das funcionalidades desenvolvidas. Este ambiente também pode ser utilizado para homologação de alguma integração, logo, ocasionalmente, terceiros também têm acesso. Último ambiente antes de ir para produção Deploy: Definição dos ambientes
  • 21. Produção Ambiente de produção, onde, de fato, o sistema será utilizado pelos usuários reais. Maior esforço na configuração da infra-estrutura - Disponibilidade; - Escalabilidade Horizontal ou Vertical; - Consistência; - Segurança; - Backup. Deploy: Definição dos ambientes
  • 23. Firebase Conjunto de serviços de computação em nuvem de back-end e plataformas de desenvolvimento de aplicativos fornecidos pelo Google - Banco de dados em tempo real - Autenticação - Funções - Cloud Messages (Push Messages) - Hospedagem Link: https://console.firebase.google.com/
  • 24. Github Pages Hospedagem do próprio Github a partir de um repositório No plano gratuito, sites ficam associados ao seu nome de usuário: - Exemplo: https://danilopinotti.github.io/ Link: https://pages.github.com/
  • 25. Cloudflare O Cloudflare é um pacote de serviços que parte de um CDN, oferecendo além disso proteção e segurança para sites. É um “Canivete suiço” de serviços voltados à ambientes cloud, como Proxy, DNS, Roteamento, otimização, etc. Além disso, a Cloudflare também fornece um serviço de hospedagem gratuito para sites estáticos junto com uma integração direta com repositórios no Github Link: https://cloudflare.com
  • 26. Netlify É uma plataforma de computação em nuvem que oferece vários serviços. Uma das propostas é que você consiga fazer o deploy de uma aplicação de forma simples, rápida e segura. Link: https://www.netlify.com/
  • 27. Vercel Empresa por trás do Next.JS Integração direta com repositórios no Github Oferece suporte a aplicativos estáticos e híbridos: - Serverless - Banco de dados headless - Hospedagem de aplicações estáticas - Hospedagem de sistemas híbridos Link: https://vercel.com/
  • 29. Obrigado! Danilo Pinotti - danilopinotti.com.br - github.com/danilopinotti Marcelo Vichar - github.com/MarceloVichar