https://trello.com/b/zAM2dmrW/tvbox-projeto-de-sistemas-20232
https://trello.com/invite/areadetrabalho18605370/ATTIea13c7910b85d4ec082e512e134e2ccf0B307FCE
https://12factor.net/
-
O produto precisa gerar algum Impacto Social.
-
O produto deve contemplar pelo menos 6 "The twelve-factor app".
-
Deve ser utilizado GitFlow, Semantic Versioning, Code Review e Kanban . TUDO deve estar registrado no GitHub. As Features devem ser vinculadas a cada usuário na Sprint correspondente. No final de cada Iteração, o Líder do Grupo deverá enviar o Relatório de Gestão. O Relatório de Gestão deve conter o link da Feature aprovada e publicada no GitHub, o Nome do Autor ("linkado" com o GitHub), o Nome do Revisor ("linkado" com o GitHub), O Status e Observações.
-
Conforme o Cronograma, nos Encontros em que forem geradas versões Demo do Produto, DEVE ser realizada uma apresentação do Produto. TODOS os integrantes de cada grupo precisam comparecer na Apresentação sob o risco de perderem Nota.
-
O desenvolvimento do Produto e a sua apresentação Técnica e Comercial(Venda) são pré-requisitos básicos para a aprovação.
Transformar um TV Box apreendido pela Receita Federal, modificando o sistema operacional da TV Box e desenvolver uma plataforma de ensino de programação lúdica para promover a aprendizagem interativa e divertida. Com um forte foco em impacto social positivo, a TV Box será um recurso chave para o desenvolvimento do projeto, por conta do seu baixo custo e da necessidade de dar uma nova destinação para um equipamento que até então, seria ilegal. Com isso iríamos reduzir o lixo eletrônico e impactar positivamente a sociedade (Listagem de alguns dos impactos logo abaixo).
- Pesquisar e escolher uma distribuição Linux adequada para a TV Box, levando em consideração requisitos de hardware e desempenho.
- Realizar a instalação e configuração do sistema operacional Linux na TV Box, incluindo a instalação de drivers necessários.
- Testar o funcionamento de todos os componentes da TV Box (conexões, som, vídeo, etc.) após a migração para garantir a funcionalidade total.
- Solucionar problemas de compatibilidade e otimizar o desempenho do sistema operacional Linux na TV Box.
- Design e desenvolvimento da interface do usuário da plataforma, com um foco na usabilidade e estética atraente.
- Implementar sistema de cadastro e autenticação de usuários para acesso à plataforma.
- Criar uma dashboard personalizada para cada usuário, exibindo progresso, atividades recentes e recursos recomendados.
- Desenvolver uma biblioteca de lições, tutoriais, projetos e desafios de programação lúdica, organizados por níveis de dificuldade.
- Integrar gamificação, como recompensas virtuais e sistema de pontuação, para motivar o aprendizado.
- Criar tutoriais interativos que introduzam conceitos de programação de forma envolvente.
- Elaborar projetos práticos que permitam aos usuários aplicar os conceitos aprendidos.
- Desenvolver desafios que estimulem o raciocínio lógico e a resolução de problemas.
- Estruturar o conteúdo de forma progressiva, garantindo uma curva de aprendizado suave.
- Implementar quizzes e exercícios ao final de cada lição para avaliar a compreensão do usuário.
- Fornecer feedback instantâneo sobre respostas corretas e incorretas.
- Monitorar o progresso do usuário e exibir estatísticas de desempenho em sua dashboard.
- Criar fóruns de discussão e grupos de estudo virtuais para permitir que os usuários interajam e colaborem.
- Possibilitar o compartilhamento de projetos, soluções e insights entre os usuários.
- Integrar uma funcionalidade de chat para comunicação direta entre os membros da plataforma.
- Desenvolver a plataforma considerando diretrizes de acessibilidade, como o WCAG, para torná-la utilizável por pessoas com diferentes necessidades.
- Realizar testes rigorosos para garantir a estabilidade e a funcionalidade da plataforma.
- Preparar materiais promocionais, como vídeos explicativos e posts em redes sociais.
- Lançar a plataforma para o público-alvo e coletar feedback inicial para melhorias futuras.
- Monitorar o desempenho e a segurança da plataforma continuamente.
- Implementar atualizações regulares para adicionar novas lições, aprimorar recursos e corrigir problemas.
- O foco é em oferecer uma plataforma de ensino de programação lúdica de alta qualidade.
- A compatibilidade da TV Box com o Linux pode influenciar o desempenho e a capacidade de execução da plataforma.
- O conteúdo educativo se baseia em conceitos de programação de nível iniciante a intermediário.
- Descrição: Proporcionar acesso a uma plataforma de ensino de programação lúdica para pessoas de diversas idades e níveis de habilidade, independentemente de sua localização ou recursos.
- Benefícios: O projeto democratiza o acesso à educação tecnológica, permitindo que indivíduos aprendam habilidades relevantes para o mercado de trabalho digital.
- Descrição: A plataforma oferece uma oportunidade para grupos sub-representados, como comunidades carentes e minorias, ingressarem no mundo da programação.
- Benefícios: Isso promove a inclusão social e econômica, reduzindo a lacuna digital e aumentando a diversidade no setor de tecnologia.
- Descrição: A programação lúdica envolve raciocínio lógico, resolução de problemas e criatividade, promovendo o desenvolvimento de habilidades cognitivas.
- Benefícios: A plataforma contribui para o aprimoramento das capacidades mentais dos usuários, que podem aplicar essas habilidades em várias áreas da vida.
- Descrição: A plataforma incentiva a autoaprendizagem, permitindo que os usuários progridam em seu próprio ritmo e escolham os tópicos que desejam explorar.
- Benefícios: Isso promove a autonomia na educação, encorajando a curiosidade, a iniciativa e a capacidade de buscar conhecimento por conta própria.
- Descrição: Ao oferecer um ambiente interativo e divertido para aprender programação, o projeto inspira os usuários a se tornarem criadores de tecnologia, não apenas consumidores.
- Benefícios: Os usuários se sentem empoderados ao adquirirem habilidades que lhes permitem contribuir para a inovação e a solução de problemas.
- Descrição: A plataforma oferece recursos sociais, como fóruns e grupos de estudo, que incentivam a colaboração entre os usuários.
- Benefícios: Os usuários aprendem a trabalhar em equipe, compartilhar conhecimento e resolver desafios em conjunto, criando uma comunidade de aprendizado.
- Descrição: Ao ensinar programação e habilidades tecnológicas, o projeto ajuda os usuários a se prepararem para carreiras no setor de tecnologia em constante evolução.
- Benefícios: Os participantes estarão mais bem preparados para enfrentar os desafios da economia digital e contribuir para a inovação tecnológica.
- Descrição: Ao integrar elementos lúdicos e gamificação, a plataforma torna o aprendizado de programação mais envolvente e agradável.
- Benefícios: Isso incentiva a adoção de uma mentalidade de aprendizado ao longo da vida, onde a educação é vista como uma atividade divertida e contínua.
- Descrição: Ao permitir o compartilhamento de projetos e soluções entre os usuários, o projeto contribui para a disseminação do conhecimento técnico.
- Benefícios: Isso fortalece a cultura de colaboração e contribuição, promovendo o crescimento coletivo e a resolução de desafios complexos.
- Descrição: Ao capacitar indivíduos com habilidades tecnológicas, o projeto possibilita a criação de soluções que abordem problemas sociais e ambientais.
- Benefícios: Os usuários podem usar suas habilidades para criar aplicativos, sites e ferramentas que contribuam para a melhoria da sociedade, enfrentando desafios como educação, saúde, meio ambiente e acessibilidade. Isso promove a conscientização e a ação coletiva em prol de mudanças positivas e sustentáveis.
-
Código-Base: Manter o código-fonte do projeto em um repositório Git usando o GitFlow para gerenciar as branches de desenvolvimento, feature, release e hotfix.
-
Configurações: Separar as configurações do ambiente (por exemplo, configurações de banco de dados, API keys) em variáveis de ambiente para facilitar a portabilidade e a configuração de diferentes ambientes (desenvolvimento, produção, teste).
-
Dependências: Definir as dependências do projeto em um arquivo específico (por exemplo, um arquivo requirements.txt ou package.json) para garantir consistência e fácil replicação do ambiente.
-
Processos: Executar a aplicação como um conjunto de processos stateless, permitindo escalabilidade horizontal e distribuição de carga.
-
Logs: Tratar os logs como fluxo de eventos, enviando-os para um sistema centralizado de coleta e análise de logs para monitoramento e diagnóstico.
-
Administração de Tarefas: Utilizar o Kanban para gerenciar as tarefas e atividades do projeto, garantindo a transparência, priorização e acompanhamento do progresso.
-
Semantic Versioning: Seguir o Semantic Versioning para atribuir versões significativas ao software, facilitando a comunicação das mudanças aos usuários.
-
Code Review: Realizar revisões de código regulares entre os membros da equipe para garantir a qualidade do código, identificar possíveis problemas e promover a colaboração.
- Organizações de software livre e de código aberto para colaboração na migração para Linux.
- Especialistas em educação e programação para desenvolvimento de conteúdo educacional.
- Comunidades de desenvolvimento e programação para compartilhamento de conhecimento.
- Escolas e instituições educacionais para parcerias de divulgação e colaboração.
- Desenvolvimento e execução da migração do sistema operacional da TV Box para Linux.
- Design e desenvolvimento da plataforma de ensino de programação lúdica.
- Criação de conteúdo educacional, incluindo tutoriais, projetos e desafios.
- Estabelecimento de parcerias colaborativas com especialistas e instituições.
- Acesso à educação de programação interativa e divertida para pessoas de todas as idades.
- Ambiente de aprendizado lúdico que ensina habilidades tecnológicas relevantes.
- Plataforma que promove a inclusão digital e capacitação.
- Potencialização de mudanças sociais através da tecnologia e colaboração.
- Suporte interativo e amigável através de fóruns, grupos de estudo e chat.
- Feedback contínuo para melhoria da plataforma e do conteúdo.
- Fomento de uma comunidade de aprendizado e colaboração.
- Iniciantes em programação que desejam aprender de forma lúdica.
- Escolas e instituições educacionais em busca de recursos de programação.
- Comunidades carentes e grupos sub-representados que buscam inclusão digital.
- Indivíduos interessados em contribuir para mudanças sociais através da tecnologia.
- Equipe de desenvolvimento e especialistas em programação.
- Conteúdo educacional variado e atrativo.
- Hardware da TV Box para migração.
- Plataforma online para acesso à educação e interação.
- Plataforma online para acesso aos recursos educacionais.
- Site oficial com informações, tutoriais e atualizações.
- Redes sociais e eventos locais para divulgação.
- Desenvolvimento e manutenção da plataforma.
- Criação de conteúdo educacional.
- Suporte ao cliente e comunidade.
- Hospedagem online dos recursos.
- Doações e Patrocínios: Contribuições voluntárias de indivíduos e organizações que apoiam a missão educacional e social do projeto.
- Assinaturas Premium: Modelo freemium com recursos adicionais e benefícios para assinantes.
- Parcerias Educacionais: Colaborações com escolas e instituições para fornecer acesso à plataforma como parte do currículo.