Skip to content

Latest commit

 

History

History
215 lines (167 loc) · 16 KB

README.md

File metadata and controls

215 lines (167 loc) · 16 KB

AOSC Mentorship 1.0 - Agosto de 2023 até Setembro de 2023

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.

Timeline

actividade data
Submissão dos projectos 25 à 04 de Agosto
Pre-mentoring Talk 31 de Julho(Tentativa)
Inscrições de participantes 05 à 17 de Agosto
Avaliações das inscrições 18 à 19 de Agosto
Anúncio de mentorados seleccionados 20 de Agosto de 2023
Fase da mentoria 21 de Agosto
Submissão dos blogs 04 à 08 de Setembro
Fim do programa 09 de Setembro

Instruções de submissão de projectos

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.

Instruções de inscrição para participantes

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.


Projectos participantes na primeira edição

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.

AOSC - Introdução ao Open-source

Tradução de inglês para português, um curso introdutório ao desenvolvimento open-source
  • 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

Risk Place Angola - É uma plataforma (open-source) para mapear (ou reportar) locais de riscos.

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.

Adicionar variante Dio na linguagem Dart - raw data body
  • 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.

Jogos de Cassino em Delégua - Implementando Jogos em Console usando Linguagem 100% em Português

Um projeto para aprender programação do zero

RedTeam - Desenvolvimento de softwares focados em segurança ofensiva

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

Omunga - Plataforma Angolana de Artigos de TI

Refatoração geral do projeto
  • 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

DoeSangue - Plataforma para conectar doadores de sangue ao Instituto Nacional de Sangue

Refactoração e upgrade
  • 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

pREST - API REST para o Postgres

Feature para escolha do modo JOIN
  • 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

Rede Angolana de Monitoramento de Desastres Naturais - Sistema de Prevenção de Desastres Naturais

  • 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
Criar servidor
  • 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
Criar um Cliente IOT
  • 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.

Refatoração da code base
  • 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.
Atualizar o pacote web_socket_channel
  • 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.
Adicionar Headers ao enviar requisições WebSocket
  • 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.
Adicionar suporte para GraphQL
  • 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.

Comunicação

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.