Propostas Submetidas

DEI - FCTUC
Gerado a 2024-03-29 13:31:42 (Europe/Lisbon).
Voltar

Titulo Estágio

Envio de Remessas Internacionais usando Blockchain

Áreas de especialidade

Engenharia de Software

Sistemas de Informação

Local do Estágio

O escritório da WIT em Taveiro ou outro a definir com o aluno. Neste momento estamos remote.

Enquadramento

Os serviços de Mobile Money que permitem o pagamento através de telemóvel e transferência de pequenas quantias de dinheiro entre pessoas são cada vez mais comuns. Nos países em desenvolvimento, que não têm uma infraestrutura de pagamento através de cartões bancários, os sistemas de Mobile Money são o mecanismo de pagamento mais utilizado no dia-a-dia. Nos países desenvolvidos, estes sistemas estão também gradualmente a substituir cartões bancários tradicionais.

A WIT fornece sistemas e aplicações para operadores de telecomunicações a nível mundial, onde se incluem aplicações de Mobile Money em países onde este sistema de pagamentos é mais usado para transações comerciais.

A tecnologia Blockchain funciona como uma base-de-dados distribuída em rede, que permite um registo de transações de forma pública e unívoca. Esta tecnologia foi inicialmente implementada para transações da criptomoeda bitcoin. Mais recentemente, surgiram redes blockchain que permitem a execução de programas Turing Complete, denominados “Smart Contracts”, possibilitando a implementação de aplicações completamente distribuídas (DApps).

Através do trabalho que fazemos com os sistemas de Mobile Money, sabemos que o sucesso destes serviços em África se deve à falta de agências bancárias, o que permite transformar a identidade do telefone numa conta. Mas o fator crucial que impede um fornecedor de entrar num novo mercado é a falta de rede de agentes que consigam receber e fazer levantamento de dinheiro físico (Fiat Money). Os sistemas estão altamente dependentes de agentes que inscrevem novos utilizadores, fornecem o serviço de entregas de dinheiro, levantamentos e envios para outras pessoas.

Para que um agente possa ser "on-boarded", tem de estar associado a uma rede de agentes que recebe tambem uma comissão. Este processo é muito "tradicional" e já vimos exemplos da "Gig Economy" em que empresas como Uber permitem que qualquer pessoa possa começar a fornecer o serviço, registando-se apenas com um smartphone. Esse modelo pode ser aplicado a Agentes Mobile Money.

Este estágio consiste na prototipagem de um sistema que consiste numa DApp e respectivo front-end numa App móvel para a gestão de agentes de Mobile Money registados numa blockchain.

Sobre a Empresa:
A WIT tem 20 anos de experiência na área das telecomunicações e é uma empresa francamente exportadora. Prova disso é o facto do software que desenvolve já ter sido exportado para 46 países. Todos estes projectos foram desenvolvidos com uma metodologia muito forte de software, sempre com requisitos de alta-disponibilidade, segurança, performance, escalabilidade e especial cuidado com a user-experience. A empresa conta com os seguintes clientes: Grupo Vodafone, Deutsche Telekom, NTT DoCoMo, KDDI, Softbank, AT&T, Verizon, Safaricom, Vodacom, Unitel, entre outros. Na WIT somos Groundbreakers e procuramos, todos os dias, desafiar o status quo fazendo mais e diferente, sempre com o objectivo de sermos cada vez melhores. Descobre aqui se também tu podes ser um groundbreaker: [url=https://www.youtube.com/watch?v=Mt9sCqvJx9U]https://www.youtube.com/watch?v=Mt9sCqvJx9U[/url]

Objetivo

O objectivo do estágio consiste no desenvolvimento de um protótipo de uma DApp que pesquisa as melhores taxas de conversão e transferência. Essa DApp estará associada a uma app Móvel que mostra um interface intuitivo para que seja claro o estado da operação.

Para implementar este tipo de protótipo, será necessário integrar com uma rede blockchain e efectuar uma transferência do dinheiro na moeda original (fiat currency) para uma rede blockchain através de um processo de “on-ramp”. Em seguida, o sistema deverá escolher entre vários processadores de transferência internacionais, tais como Stellar Networks ou Ripple para o envio para uma conta bancária. Todo este processo deverá ser atómico.

Este trabalho deverá ser possível de atingir através do desenvolvimento dos seguintes componentes aplicacionais:
1. SmartContract para integração com as redes de transferência internacional.
2. Um servidor aplicacional para gestão de notificações e exposição de APIs.
3. App móvel com interface para o utilizador de Mobile Money. Essa app deverá ser desenvolvida de forma a ser integrada dentro de outra app já existente.

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 do protótipo.

Segue-se a análise de requisitos do projeto, a criação de um plano de desenvolvimento e a definição de um “project backlog” com as funcionalidades desejadas. O desenvolvimento do software deverá ser feito de forma iterativa usando um processo ágil, baseado em SCRUM.

No final do estágio, deverá existir um protótipo funcional, que seja facilmente demonstrável e que mostre bem os conceitos explorados durante o estágio.

Plano de Trabalhos - Semestre 1

Para o 1º semestre estão planeadas as seguintes tarefas:
• Levantamento do estado da arte;
• Estudo das principais linguagens de programação e paradigma de desenvolvimento de SmartContracts.
• Estudo e selecção de rede blockchain (ou sidechain) a ser usada para o desenvolvimento do protótipo.
• Implementação de app móvel com funcionalidades de pesquisa de melhores taxas de conversão
• Elaboração do plano de desenvolvimento.
• Prototipagem das APIs de acesso ao sistema e integração com a rede blockchain.
• Prototipagem de integração com app wallet já existente.
• Definição de casos-de-uso e ecrãs principais.
• Preparação dos protótipos 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:
• Discussão e interacção com equipa de UI/UX design para elaboração de mockups
• Implementação do caso-de-uso de envio de forma atómica.
• Implementação de protótipo de pagamento internacional.
• Preparação do protótipo para demonstrações;
• Testes funcionais;
• Testes de usabilidade;
• Avaliação de requisitos não funcionais;
• Documentação final de estágio.

Condições

O local de trabalho será no escritório da WIT Software em Taveiro ou noutro local definido entre o aluno e a empresa uma vez que a WIT tem centros de desenvolvimento no Porto, Aveiro, Coimbra, Leiria e Lisboa. Neste momento encontramo-nos a trabalhar remotamente.

O aluno terá ao seu dispor os equipamentos necessários para desempenhar as suas tarefas.

O estágio é remunerado. Se o desempenho do aluno ao longo do mês for positivo, terá direito a receber uma bolsa mensal.

Além da bolsa, o aluno terá acesso às formações da WIT Academy (que inclui tópicos como: iOS, Android, React.Native, Arquitecturas de Software, Software Quality, Software Security, Metodologias de Desenvolvimento de Software).

O aluno será acompanhado não só pelo orientador como por um tutor técnico que lhe dará todo o apoio necessário.

No final do estágio, o aluno terá conhecimento detalhado sobre tecnologia de blockchain, sobre SmartContracts e desenvolvimento de DApps, bem como de Apps móveis.

No final do estágio, será feita uma avaliação do estagiário e dos conhecimentos adquiridos. 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 SCRUM, como metodologia de desenvolvimento.
- Existe um Tutor e um Orientador. O Orientador define os requisitos do estágio, define as prioridades do Backlog e acompanha os resultados parciais do projecto. O Tutor garante o cumprimento das tarefas, promove as meetings e acompanha o aluno com mais regularidade.

Orientador

Filipe Santos
jorge.sousa@wit-software.com 📩