Git Product home page Git Product logo

mercure-publisher's Introduction

Mercure Publisher

Este projeto, juntamente com o mercure-subscriber, faz parte da demonstração da apresentação Mercure - atualização em tempo real para sua aplicação, onde apresento o Mercure, protocolo de comunicação em tempo real para aplicações web.

Os passos a seguir pressupõe que você tenha clonado este repositório.

Pré requisito: JWT

Tanto o HUB como a configuração do Symfony utilizam um JWT (JSON Web Token), que pode ser gerado no jwt.io. Use ou gere uma Chave (guarde-a, pois precisaremos adiante); O Algoritmo é HS256; Em payload insira o seguinte:

{
    "mercure": {
        "publish": []
    }
}

Guarde o JWT gerado pois já o utilizaremos.

Instalação

HUB

Também precisa instalar o hub do Mercure que pode ser baixado na Página de releases ou instalado via Docker ou Kubernetes.

Em todo caso este projeto já contém o binário no diretório /bin; Para acioná-lo use o comando a seguir:

JWT_KEY='INSIRA AQUI A CHAVE QUE USOU PARA GERAR O JWT' \
ADDR=':3000' ALLOW_ANONYMOUS=1 CORS_ALLOWED_ORIGINS=* PUBLISH_ALLOWED_ORIGINS='https://localhost:8000' \
./bin/mercure

Publisher

Aqui já é bem mais fácil:

composer install

Crie um arquivo .env.local e modifique as seguintes chaves:

APP_SECRET=NormalmenteOSymfonyCriaParaVoce
MERCURE_JWT_SECRET="INSIRA AQUI O JWT QUE VOCE GEROU"
#Deixe assim para criar e manipular um BD SQLite
DATABASE_URL=sqlite:///%kernel.project_dir%/var/data.db

Após isso, criamos nosso banco de dados:

./bin/console doctrine:migrations:migrate

Entao, populamos o Banco de Dados:

symfony console doctrine:fixtures:load

Com isso, já podemos ver nossa API. Caso esteja usando o Symfony Client *, pode levantar o servidor com:

symfony serve
  • Para instalar, basta seguir as orientações nesta página
  • Caso não esteja usando, acredito que saiba como levantar um servidor http, lembrando que o diretório a ser usado é o public e estamos usando https ;).

Agora, com o mercure-subscriber, o hub e a API rodando, vamos fazer o estalar de dedos:

./bin/console app:thanos-snap

Client (Subscriber)

Para fazer essa demonstração você mesmo, você precisa instalar o mercure-subscriber em outro diretório que não este.

mercure-publisher's People

Contributors

casimiroarruda avatar

Stargazers

Tiago Cruz avatar

Watchers

 avatar

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.