Tecnologias de desenvolvimento de
aplicações em tempo real
João Pedro Souza Homem
Orientador: Prof. MSc. Marlan Kulberg
Março, 2017
Introdução
▪ O que me motivou?
▪ Sobre o tema
▪ Metodologia
▪ Tecnologias utilizadas
Objetivos
▪ Levantamento de referências de
aplicações de tempo real
▪ Desenvolvimento de uma aplicação
web de tempo real utilizando a
plataforma NodeJS
▪ Aplicar conceitos de arquitetura de
software escalável
Desenvolvimento
▪ Casos de referência
Desenvolvimento
▪ Ambiente de Desenvolvimento
Desenvolvimento
▪ Versionamento de Código
Desenvolvimento
▪ Single Page Application (SPA)
Desenvolvimento
▪ AngularJS
▪ Angular Material
▪ SASS
▪ HAML
Desenvolvimento
▪ API REST (Stateless)
Desenvolvimento
▪ Funcionamento do NodeJS
Desenvolvimento
▪ Estrutura de arquivos
▪ Domain, o coração do
projeto
▪ NPM e Bower
▪ Gulp
▪ WebPack
▪ Babel
Desenvolvimento
▪ Persistência dos dados
▪ NoSQL
▪ MongoDB
Desenvolvimento
▪ ExpressJS
Desenvolvimento
▪ Autenticação e Autorização
Desenvolvimento
▪ SocketIO
Desenvolvimento
▪ Redis: o protocolo Pub/Sub
Desenvolvimento
▪ Nginx (Proxy reverso)
Desenvolvimento
▪ Vídeo de demonstração...
Referência: https://www.youtube.com/watch?v=Kn-G7Ky-nok
Conclusão
▪ Aprendizado
▪ Dificuldades
▪ Trabalhos futuros
Obrigado.
Agradecimentos:
Agradeço ao meu orientador
por ter me instruído na
elaboração deste trabalho, aos
professores que se
disponibilizaram a avaliá-lo, e a
toda a comunidade open-source
que viabilizou através de
ferramentas o desenvolvimento
do projeto apresentado.
Fim.
github.com/joaopsh/orb
slideshare.net/joaopedroshomem
Referências
▪ http://sirlab.github.io/assets/images/faeterj.png
▪ https://thenounproject.com/term/programmer/28130/
▪ https://thenounproject.com/term/real-time-data/51033/
▪ https://commons.wikimedia.org/wiki/File:Node.js_logo_2015.svg
▪ https://github.com/FortAwesome/Font-Awesome/issues/2027
▪ https://thenounproject.com/term/caffeine-addiction/201574/
▪ http://www.expertty.com/imagens/icons/goal.png
▪ http://www.tecmint.com/centos-7-installation
Referências
▪ https://hub.docker.com/_/centos/
▪ http://www.dennyferra.com/debugging-a-node-js-sails-app-with-visual-studio-
code/
▪ https://www.atlassian.com/git/tutorials/comparing-workflows
▪ http://www.obomprogramador.com/2014/11/tudo-o-que-voce-precisa-saber-sobre-
git.html
▪ http://slides.com/contra/eventing-pubsub#/3
▪ https://msdn.microsoft.com/en-us/magazine/dn463786.aspx
▪ https://codeplanet.io/principles-good-restful-api-design/
Referências
▪ http://www.tecmint.com/centos-7-installation
▪ http://www.bogotobogo.com/MEAN-Stack/MEAN-Stack-MongoDB-ExpressJS-
AngularJS-NodeJS.php

Orb - Chat by location