Propostas atribuídas ano lectivo 2021/2022

DEI - FCTUC
Gerado a 2024-11-21 20:00:58 (Europe/Lisbon).
Voltar

Titulo Estágio

Gestão de Agentes de Mobile Money 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 implementado através e um SmartContract para a gestão de agentes de um front-end implementado numa app móvel.

Assumindo que um agente cria uma conta num blockchain público, pode interagir com um contrato de funciona como a "rede de agentes", para submeter o seu registo e depois efectuar operações, tais como: "receber float", "enviar dinheiro", "fazer top-ups", etc. Como as transacções ficam registadas na blockchain, o agente passa a ter um histórico público e um "rating". Os agentes novos podem ter rates mais altas que vão baixando à medida que vão tendo mais reputação. Assim, os clientes podem-se dirigir a um agente que tenha a melhor reputação ou então procurar um que dê melhores taxas porque ainda está a começar.

Um serviço deste género, associado a um incentivo inicial para os novos agentes, permite a um fornecedor de mobilie Money entrar num novo mercado ou expandir o seu mercado, sem ter uma rede de agentes pré-estabelecida.

Este trabalho deverá ser possível de atingir através do desenvolvimento dos seguintes componentes aplicacionais:
1. SmartContract para gestão de Agentes e saldo desses agentes.
2. Um servidor aplicacional para gestão de notificações e exposição de APIs.
3. App móvel com interface para:
a. Agente de Mobile Money
b. Utilizador Final

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.
• Prototipagem de SmartContract para registo de Agentes e registo de clientes.
• 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 de app móvel com funcionalidades de registo e saldo.
• Implementação de funcionalidades de “rating” de agentes, com base nas interacções.
• 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.

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
filipe.santos@wit-software.com 📩