Estado
: Acontecendo
A primeira edição do AOSC Mentorship
está prevista para Agosto de 2023 até Setembro de 2023.
O programa terá duração de 1 mês.
actividade | data |
---|---|
Fase da mentoria | 21 de Agosto |
Submissão dos blogs | 04 à 08 de Setembro |
Fim do programa | 09 de Setembro |
Mantenedores de projectos e potenciais mentores são convidados a submeter descrição de seus projectos através da submissão de um PR no GitHub aqui AOSC Mentorship Program até 04 de Julho de 2023. Encontre o modelo de submissão aqui.
Por favor, encorajamos os mantenedores de projectos a submeterem seus projectos o mais cedo possível para que os participantes tenham tempo suficiente para se familiarizarem com os projectos e fazerem suas escolhas.
Os participantes são convidados a se inscreverem através do formulário de inscrição AOSC Mentorship Program até 17 de Agosto de 2023. Para mais informações sobre o processo de inscrição, consulte o AOSC Mentorship Program Guide.
Encontre a lista de projectos participantes na primeira edição abaixo. Os participantes são encorajados a se familiarizarem com os projectos e fazerem suas escolhas antes do início do programa.
- Descrição: O open-sauced-intro é um curso introdutório ao desenvolvimento open-source e guia para fazer a primeira contribuição. O curso foi elaborado pela OpenSauced e está completamente em Inglês. Precisamos criar uma cópia não oficial deste curso em Português. Mais informações sobre o projecto aqui: open-sauced/intro#16
- Resultado esperado: Traduzir pelo menos 15% do curso.
- Habilidades recomendadas: Inglês intermediário, HTML, CSS, e Javascript
- Mentor(s): Nurul Carvalho(@Nurul-GC)
- Problema de Origem (URL): https://github.com/angolaosc/intro-em-portugues/issues/1
- Nível de dificuldade: Fácil
Remover Websocket Client do controller de criação de alertas e adicionar metodo write do websocket server para enviar alertas para o cliente.
- Descrição: O RiskPlace é uma plataforma (open-source) para mapear (ou reportar) locais de riscos, Risk Place Angola visa facilitar a chamada de emergência e reportar locais de risco. O Risk Place Angola possui uma funcionalidade de comunicação em tempo real, que permite que os usuários recebam alertas em tempo real, mas o websocket client está no controller de criação de alertas, o que não é uma boa prática, o ideal seria remover o websocket client do controller de criação de alertas e adicionar metodo write do websocket server para enviar alertas para o cliente. Mais informações sobre o projecto aqui: risk-place-angola/backend-risk-place#84
- Resultado esperado: Criar alertas em tempo real sem o websocket client no controller de criação de alertas.
- Habilidades recomendadas: Golang
- Mentor(s): Pedro Lopes Estevão(@Paulo-Lopes-Estevao)
- Problema de Origem (URL): risk-place-angola/backend-risk-place#85
- Nível de dificuldade: Médio
Client Code Generators - É uma Biblioteca (open-source) para Converter pedidos HTTP em diferentes linguagens à sua escolha, gerando código de pedido HTTP para o mesma linguagem.
- Descrição: O Client Code Generators é uma Biblioteca (open-source) para Converter pedidos HTTP em diferentes linguagens à sua escolha, gerando código de pedido HTTP para o mesma linguagem. É um pacote escrito em dart baseado no pacote Postman Code Generators do Postman. O pacote possui 1 variante em dart, que é o http, mas precisamos adicionar mais uma variante, que é o dio. A variante Dio deve dar suporte a raw data body e headers. Mais informações sobre o projecto aqui: Paulo-Lopes-Estevao/client-code-generators#4
- Resultado esperado: gerar código de pedido HTTP para a linguagem Dart com a variante Dio, que deve dar suporte a raw data body, headers e o método de pedido HTTP POST.
- Habilidades recomendadas: Dart, HTTP, Inglês básico.
- Mentor(s): Paulo Lopes Estevão(@Paulo-Lopes-Estevao)
- Problema de Origem (URL): Paulo-Lopes-Estevao/client-code-generators#5
- Nível de dificuldade: Médio
Predictlow - Uma pequena biblioteca para fazer previsão em grandes conjuntos de dados sem sofrer o problema de out-of-memory.
Um projecto ponta-a-ponta para resolver o problema de out-of-memory nos principais algoritmos de aprendizagem de máquina.
- Descrição: O fenômeno "out of memory" ocorre quando um modelo de aprendizagem de máquina esgota a memória disponível durante o treinamento. Isso geralmente acontece quando o conjunto de dados é muito grande ou quando o modelo é muito complexo para a capacidade de memória do sistema. Este é um problema comum em quase todos os algoritmos de aprendizagem de máquina, para superar esse problema, pode-se reduzir o tamanho do conjunto de dados, mas isso só na fase de treinamento, o problema ainda pode persistir na fase de previsão, e aqui entra o predictlow, para permitir fazer previsão de grandes conjunto de dados sem ocorrer o problema de out-of-memory.
- Resultado esperado: Módulo python (Predictlow) e disponibilizá-lo para instalação via [PIP] (https://pypi.org/project/pip/) para a comunidade opensource consumir com facilidade.
- Problema de Origem (Referência Bibliográfica): https://en.m.wikipedia.org/wiki/Out_of_memory
- Habilidades recomendadas: É desejável python e básico de álgebra linear. Noções de aprendizagem de máquina é um diferencial.
- Mentor(s): Kayenga Campos(@Kissabi)
- Nível de dificuldade: Fácil.
- Descrição: Gostaria de aprender a programar do zero e não sabes por onde começar? Podes experimentar Delégua, uma linguagem de programação 100% em português, que implementa todos os recursos de linguagens de mercado, como orientação a objetos, paradigmas imperativo e funcional. Neste projecto, irás aprender como implementar jogos de cassino como Roleta, Craps e Blackjack.
- Resultado esperado: Um conjunto de jogos que executam em qualquer sistema operacional e qualquer dispositivo.
- Habilidades recomendadas: Ler, escrever e falar português.
- Mentor(s): Leonel Sanches da Silva (@leonelsanchesdasilva)
- Problema de Origem (URL): https://github.com/leonelsanchesdasilva/aosc-2023-delegua/blob/principal/README.md
- Nível de dificuldade: Fácil
Um projeto para aprender a desenvolver softwares de segurança ofensiva usados em testes de segurança e operações de equipe vermelha (RedTeam)
- Descrição: Você gosta de cibersegurança e quer aprender a desenvolver ferramentas reais usadas no mundo real? Você vai criar ferramentas de RedTeam, que em cibersegurança é o nome dado a uma equipe de especialistas de segurança que simulam o comprometimento de uma empresa de ponta a ponta, simulando o mais real possível de um ataque real com 100 Projetos diferentes usados em situações reais no mundo. Você tem a liberdade de escolher qualquer item da lista durante esta aventura.
- Resultado esperado: Conhecer e desenvolver ferramentas de segurança ofensiva usadas em ambientes reais
- Habilidades recomendadas: Qualquer linguagem de programação (que suporte o uso do http e sockets), conhecimento básico de redes
- Mentor(s): Héber Júlio (@kurogai)
- Problema de Origem (URL): https://github.com/kurogai/100-redteam-projects-aosc
- Nível de dificuldade: Médio
- Descrição: O Omunga é uma plataforma Angolana de Artigos de TI, a versão atual do projeto esta com uma arquitetura não muito aconselhavel, e código não muito legivel.
- Resultado esperado:
- Revisar o código existente em busca de melhorias, remoção de redundâncias e simplificação do código.
- Adotar boas práticas de programação e padrões de design para aumentar a qualidade e a manutenibilidade do código.
- Habilidades recomendadas: Javascript | Nextjs | Clean code
- Mentor(s): Miguel Buca (@miguelbuca)
- Problema de Origem (URL): OMUNGA/Front-end#44
- Nível de dificuldade: Médio
- Descrição: Doesangue/Giveblood é uma plataforma (API as a Service) que visa servir de um ponto de ligação entre pessoas doadoras de sangue e instituições responsáveis por colheita de sangue (hospitais e Instituto Nacional de Sangue).
- Resultado esperado:
- Actualizar para versão mais recente do Laravel (v10 até a data)
- Refactorar as funcionalidades de cadastro de doadores para marcar como "em espera" para validação dos dados antes de marcar como doador válido
- Aplicar boas práticas e evitar duplicação de funções
- Cadastrar hospitais
- Habilidades recomendadas: PHP/Laravel, Angular, Flutter, Nodejs/Javascript
- Mentor(s): José Cage(@JoseCage)
- Problema de Origem (URL): givebloodorg/doesangue-core#87
- Descrição: O pREST é uma API REST criada para facilitar o desenvolvimento ágil. A versão atual obriga o desenvolvedor a usar o novo método de JOIN da API, mas isto apesar de melhorar o desempenho para a maioria quebrou alguns usuários, o que os impede de atualizar para versões mais novas.
- Resultado esperado:
- Através de uma nova configuração possibilitar que o usuário escolha seu método de JOIN na API.
- Habilidades recomendadas: Golang | Postgres | Clean code | Docker
- Mentor(s): Arthur Silva (@arxdsilva)
- Problema de Origem (URL): prest/prest#746
- Nível de dificuldade: Médio
- Descrição: Criar uma POC(Prova de conceito) de uma Plataforma de IOT para monitoramento de Desastres Naturais
- Resultado esperado:
- Projeto (POC) de um framework para criar clientes que possam enviar dados para a plataforma
- Projeto (POC) do servidor que irá receber os dados do cliente
- Habilidades recomendadas:
- Lógica de programação | JAVA | Orientação a objetos | Postgres | Docker
- Mentor(s): Bruno Alves dos Santos
- Problema de Origem (URL): https://github.com/orgs/angolaosc/projects/1
- Descrição: Precisamos criar um servidor que irá aceitar registros de clientes e envio de dados através do protocolo MQTT. Estes dados serão salvos em banco de dados criando uma base única para consulta.
- Resultado esperado: Na nossa POC iremos registrar clientes e receber dados simples para armazenar no banco de dados.
- Habilidades recomendadas: Lógica de programação | JAVA | Orientação a objetos | Postgres | Docker
- Mentor(s): Bruno Alves dos Santos Problemas de Origem (URL): https://github.com/angolaosc/monitora-angola/issues/2
- Nível de dificuldade: Médio | Difícil
- Descrição: Precisamos implementar um cliente para fazer o envio dos dados - por exemplo - nível dos rios - para o servidor. Para isso, este
- Resultado esperado: O cliente deverá simular dados para envio ao servidor. Também deverá ser capaz de ao inicializar, enviar o registro para depois começar o envio dos dados.
- Habilidades recomendadas: Lógica de programação | JAVA | Orientação a objetos | Postgres | Docker
- Mentor(s): Bruno Alves dos Santos Problemas de Origem (URL): https://github.com/angolaosc/monitora-angola/issues/3
- Nível de dificuldade: Médio | Difícil
ClientAO - API Client (Open Source) para criar APIs calls, alternativa ao POSTMAN & Insomnia feito em Flutter/Dart.
- Descrição: precisamos revisar o código existente em busca de melhorias, remoção de redundâncias e simplificação do código.
- Resultado esperado:
- Ter uma codebase limpa
- Ter os ficheiros não usados removidos
- Habilidades recomendadas: Flutter, Dart, Riverpod, HTTP, Inglês intermediário.
- Mentor: António Nicolau (@antonio-nicolau).
- Nível de dificuldade: fácil.
- Descrição: Atualizar o web_socket_channel para ter acesso as ultimas atualizações que inclui a possibilidade de adicionar Headers na conexão.
- Resultado esperado: Atualizar o pacote web_socket_channel para versão 2.4.0
- Habilidades recomendadas: Flutter, Dart, Inglês básico.
- Mentor: António Nicolau (@antonio-nicolau).
- Nível de dificuldade: Fácil.
- Descrição: A versão atual não suporta envio de headers nas requisições WebSocket. Mas partir da versão ^2.4.0 do web_socket_channel, é possível adicionar Headers na conexão.
- Resultado esperado: Adicionar suporte para envio de Headers nas requisições WebSocket
- Habilidades recomendadas: Flutter, Dart, Riverpod, Http, WebSocket, Inglês intermediário.
- Mentor: António Nicolau (@antonio-nicolau).
- Nível de dificuldade: Médio.
- Descrição: A versão atual apenas oferece suporte para requisições http & websocket. Esta tarefa consiste em adicionar suporte para GraphQL.
- Resultado esperado:
- Adicionar o pacote graphql_flutter
- Adicionar requisições GraphQL as collections
- Adicionar Autenticação para GraphQL (username & password, Bearer, apiKey por enquanto)
- Atualizar os widgets de envio/resposta de requests para suportar GraphQL
- Habilidades recomendadas: Flutter, Dart, Riverpod, Http, WebSocket, GraphQL, Inglês intermediário.
- Mentor: António Nicolau (@antonio-nicolau).
- Nível de dificuldade: Avançado.
Encorajamos os participantes a se juntarem aos nossos canais de comunicação para se conectarem com outros participantes e mentores. O link para o canal será compartilhado com os participantes selecionados.
Para discussões gerais, por favor, use o canal #aosc-mentorship
no AOSC Discord.