Coder Social home page Coder Social logo

reinanhs / notifique-mail Goto Github PK

View Code? Open in Web Editor NEW
0.0 2.0 0.0 872 KB

Programa que notifique o usuário quando um e-mail chegar a sua caixa de entrada

Home Page: http://mail.reinanhs.com

License: MIT License

Shell 0.28% PHP 53.48% Blade 0.24% Vue 46.00%
laravel mail vuejs

notifique-mail's Introduction

GitHub top language GitHub branch checks state Codecov

💧 Sistema em Laravel para notifique o usuário quando um e-mail chegar a sua caixa de entrada 💧

⭐ Colaboradores ⭐

Notifique Mail

O objetivo deste programa é notificar o usuário quando um e-mail chega na caixa de entrada. O usuário pode ser notificado de várias maneiras, como por meio de um telefone celular, um aplicativo de desktop e assim por diante. Ao criar este projeto, espero permitir que os usuários sejam notificados quando receberem um novo e-mail. Ao usar este sistema, você pode receber notificações das seguintes maneiras:

  • E-mail alternativo
  • SMS

Além disso, futuramente será implementado o envio de notificações via:

  • Whatsapp
  • Ligação por telefone
  • Push notification
  • Telegram

Instalando e atualizando as dependências

Clone o repositório no meu Github

git clone https://github.com/ReinanHS/notifique-mail.git

Primeiros passos no Linux

Se você estiver desenvolvendo no Linux e o Docker já estiver instalado, você pode usar um comando de terminal simples para rodar esse projeto. Você deve executar o seguinte comando em seu terminal:

composer install && ./vendor/bin/sail up

Na primeira vez que você executa o comando Sail up, os contêineres de aplicativos do Sail serão construídos em sua máquina. Isso pode levar vários minutos. Não se preocupe, as tentativas subsequentes de iniciar o Sail serão muito mais rápidas.

Primeiros passos no Windows

Antes de iniciar o aplicativo em sua máquina Windows, certifique-se de instalar o Docker Desktop. Em seguida, você deve garantir que o Subsistema Windows para Linux 2 (WSL2) esteja instalado e ativado. O WSL é um recurso opcional disponível no Windows 10 (a partir da versão 1607) que te permite executar binários e scripts em Linux diretamente no Windows, traduzindo as instruções enviadas para o sistema (as chamadas de sistema ou system calls) para uma instrução válida para o kernel do Windows.

Você pode navegar até o diretório do aplicativo e iniciar o Laravel Sail. O Laravel Sail fornece uma interface de linha de comando simples para interagir com a configuração padrão do Docker do Laravel:

composer install && ./vendor/bin/sail up

Depois que os contêineres do Docker forem iniciados, você pode acessar o aplicativo em seu navegador da web em: http://localhost

Tecnologias Utilizadas

Ferramentas de qualidade de código

Muitas das vezes os atrasos gerados no desenvolvimento se dão pela identificação tardia de falhas de segurança, o que faz com que o trabalho tenha que retroceder muito. Ter uma análise em tempo real possibilita identificar os problemas durante a fase de desenvolvimento, evitando ter que alterar muito o algoritmo para reparar essa falha.

PHPUnit - Testes unitários

Você pode executar os testes PHPUnit executando o comando phpunit:

sail php ./vendor/bin/phpunit

O Teste Unitário é a primeira abordagem em matéria de confecção de testes mais robustos e confiáveis, a técnica consiste em testar as menores unidades possíveis de código da aplicação em cenários isoladamente em um projeto separado da aplicação principal, o que permite a manutenção e a escalabilidade dos testes em conjunto com a aplicação.

PHP-CS-Fixer

O PHP-CS-Fixer corrige todo o estilo do seu código, quebras, espaços, estilo de declarações etc. É possível definir para que ele siga as PSR-1 e PSR-2, por exemplo. Não obstante, já estão desenvolvendo suporte nele para o mais novo padrão de estilo de código, o PSR-12. E para rodar as correções usando:

sail composer fix-style

PHP Insights

Ferramenta para análise da qualidade do código. Ele divide a análise em quatro categorias: código, complexidade (complexidade ciclomática etc), arquitetura (tamanho de métodos e classes, entre outras análises) e estilo de código (formatação, padronização).

PHP Insights Preview

Para verificar o resultado você pode executar o comando:

sail php ./vendor/bin/phpinsights

Pipeline de CI/CD

Um pipeline de CI/CD consiste em uma série de etapas a serem realizadas para a disponibilização de uma nova versão de um software. Os pipelines de integração e entrega contínuas (CI/CD) são uma prática que tem como objetivo acelerar a disponibilização de softwares, adotando a abordagem de DevOps.

Pipeline

O projeto usa GitHub Actions para ajudar a automatizar o fluxo de trabalho de desenvolvimento de software de dentro do GitHub. O fluxo de trabalho é implementado no mesmo local onde o código está armazenado e as solicitações pull e os problemas são processados de forma colaborativa. Você pode ver essas implementações em actions.

Change log!

  • Iniciar o projeto
  • Envio de SMS

Twilio SMS

Twilio é a plataforma líder de comunicação em nuvem que simplifica e facilita o contato com seus clientes em qualquer lugar. No servidor de demonstração só será possível enviar mensagem para o meu número de telefone porque estou usando uma versão gratuita dessa API.

Licença

O Notifique Mail é um software de código aberto licenciado sob a MIT license.

notifique-mail's People

Contributors

reinanhs avatar

Watchers

 avatar  avatar

notifique-mail's Issues

Instalação, Parametrizações e Marcações iniciais no projeto

Estas são as tarefas iniciais que devem ser executadas. À medida que são implementados, novos emergem:

  • Instalação do Laravel 8
  • Parametrização do projeto
  • Criar controlador para os componentes
  • Normalizar sistema de rotas
  • Criação do Componente Vue [Mail]
  • Marcação do HTML e Estilização

Modelagem do banco de dados

  • Modelagem entidade de caixa de email
  • Modelagem entidade usuários
  • Modelagem entidade anexos
  • Modelagem entidade redes sociais
  • Modelagem entidade para notificações e tipo de notificações

Configuração de Pipeline de CI/CD

Você precisará criar um pipeline para ajudar a automatizar o fluxo de trabalho de desenvolvimento de software de dentro do GitHub. O pipeline deve executar:

  • Criação de um banco de dados para testes
  • Baixar dependências
  • Ferramentas de qualidade de código
    • PHPUnit - Testes unitários
    • PHP-CS-Fixer
    • PHP Insights

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.