Titulo Estágio
Implementação de ferramenta de colaboração Web usando WebRTC e HTML5
Áreas de especialidade
Engenharia de Software
Local do Estágio
Coimbra (Taveiro)
Enquadramento
Devido ao aumento da capacidade de teletrabalho, existe cada vez mais a necessidade de permitir aos colaboradores das empresas trabalhar remotamente em projectos comuns.
Para permitir a colaboração entre pessoas de uma equipa de projecto, os serviços de voz e mensagens oferecidos pelos operadores de comunicações são essenciais mas não estão adaptados às necessidades dos clientes empresariais.
Algumas empresas decidiram apostar na elaboração de produtos que permitem a colaboração em tempo-real, entre várias pessoas da mesma empresa. Alguns exemplos desses produtos incluem o “37signals CampFire” ou o “Atlassian HipChat”.
Estas aplicações de colaboração em tempo-real, permitem que vários colaboradores participem na elaboração de ideias e documentos. A discussão é gravada, ficando as ideias registadas e organizadas por projectos.
Objetivo
O objectivo do estágio é o desenvolvimento de um serviço que permita gerir as discussões de trabalho entre colaboradores de uma empresa.
A colaboração será fundamentalmente iniciada por mensagens instantâneas em grupo, podendo ser seguida de chamadas de voz/vídeo em conferência, sessões de desenho colaborativo (whiteboard) ou mensagens SMS/email.O desenvolvimento será focado num servidor central que agrupará as discussões e numa aplicação web usando tecnologia WebRTC.
A aplicação deverá permitir comunicação em tempo-real, mas também prosseguir as conversas que foram iniciadas e interrompidas, podendo os clientes deixar mensagens que serão vistas quando o utilizador voltar a iniciar a aplicação.O sistema deverá também permitir a partilha de ficheiros. Esses ficheiros partilhados ficam associados à sala de conversação, para serem utilizados ou consultados mais tarde.
O estagiário deverá começar por conduzir um estudo comparativo de soluções existentes no mercado, seguindo-se um estudo dos protocolos standard a utilizar, depois a análise de requisitos do projecto e algumas actividades de prototipagem.Depois da análise de requisitos finalizada, o estagiário deverá avançar para o desenvolvimento das funcionalidades esperadas.
Espera-se que o aluno tenha a autonomia e capacidade crítica necessárias para recolher, analisar e estruturar toda a informação acerca de soluções existentes no mercado. Esta informação deverá ser depois aplicada no desenvolvimento da solução pretendida.
Plano de Trabalhos - Semestre 1
Para o 1º semestre estão planeadas as seguintes tarefas:
- Levantamento do estado da arte e análise das funcionalidades de aplicações semelhantes
- Análise de requisitos dos desenvolvimentos a efectuar
- Elaboração do plano de desenvolvimento
- Prototipagem de algumas funcionalidades
- Desenvolvimentos de uma aplicação servidor com:
1. Gestão de contas (username/password);
2. Gestão de salas de “Chat” em grupo (i.e. projectos);
3. Partilha de ficheiros;
4. Alertas por email.
- Preparação da solução para demonstrações internas
- Documentação intermédia do estágio
Plano de Trabalhos - Semestre 2
Para o 2º semestre estão planeadas as seguintes tarefas:
- Desenvolvimento da aplicação Web:
1. Chamadas de voz em conferência (integração com servidor de conferência) usando tecnologia WebRTC;
2. Chamadas de vídeo em conferência usando tecnologia WebRTC;
3. Importar threads de email para a aplicação;
4. Incorporação de ferramentas externas como o Dropbox (para exportação e importação de conteúdos) e o join.me (para partilha de ecrã).
- Preparação da solução para demonstrações
- Testes funcionais e não funcionais
- Documentação final de estágio
Condições
O local de trabalho será na sede da WIT Software em Taveiro onde o estagiário terá ao seu dispor os equipamentos necessários para desempenhar as suas tarefas. O estágio será remunerado.
Além da remuneração, o estagiário poderá ser convidado para receber formação na WIT Academy (que inclui tópicos tais como: IMS, VoIP, SIP, iOS Programming, Android Programming, Arquitecturas de Software, Software Quality, Metodologias de Desenvolvimento de Software).
Apesar do estagiário ser acolhido pela equipa de desenvolvimento este trabalho de estágio não faz parte do roadmap do desenvolvimento de nenhum produto. É um investimento da empresa no treino de futuros profissionais. O que se pretende com estes estágios é fazer “training-on-job” de alunos finalistas e prepará-los para a área de software para telecomunicações, de modo a que no final do estágio o aluno esteja preparado para ser incluído na equipa de desenvolvimento.
O estagiário terá acesso aos recursos da equipa de desenvolvimento, e terá à sua disposição um conjunto de Engenheiros experientes que lhe poderão dar ajuda nas dificuldades técnicas.
No final do estágio, será feita uma avaliação do trabalho realizado. Se o resultado for positivo o estagiário será convidado para fazer parte da equipa de desenvolvimento.
Observações
- Toda a documentação de projecto será em Inglês.
- Será usado uma adaptação de SCRUM, como metodologia de desenvolvimento.
- Existe um Scrum Master e um Project Owner. O Project Owner define os requisitos do estágio e acompanha os resultados parciais do projecto. O Scrum Master garante o cumprimento das tarefas, define as prioridades do backlog, promove os scrum meetings e acompanha o aluno com mais regularidade.
Orientador
Frederico Lopes
frederico.lopes@wit-software.com 📩