a. Integrantes da equipe:
- Fabio S. Reszko Jr.
b. Professor Orientador:
- Eduardo Tieppo
c. Data de criação do documento:
- 05/03/2024
A internet, ferramenta que tornou possível a comunicação remota, permite que indivíduos se comuniquem de qualquer parte do mundo. Por conta de sua rápida evolução, grandes problemas emergiram, e grandes soluções foram criadas. Entre eles, a adaptação de instituições de ensino mostrou-se digna de diversos meios criados para facilitar a mudança do ambiente acadêmico para o mundo digital. Enquanto esses meios sucederam em simplificá-la e agilizá-la, desenvolveu-se um empecilho a mais: a multiplicidade e a dispersão de soluções. O cenário atual EAD, que oferece soluções diferentes para criação e gestão de atividades; organização de prazos; agendamento e programação de videoconferências; gerenciamento de notas e avaliações dos estudantes; comunicação e interação entre usuários e suporte técnico, encontra-se disperso, dificultando e atrasando a vida de educadores e educandos. Como tentativa de unificar essas soluções e elevar a eficiência tanto dos estudantes quanto dos docentes, este trabalho se materializa em desfragmentar o cenário atual do ambiente EAD na forma de um website, proporcionando ferramentas que harmonizam a jornada de trabalho do usuário. De modo específico, o objetivo do Manthano é criar um ambiente estudantil completo para todos os agentes do processo educacional, promovendo a centralização de recursos e funções específicas. Consequentemente, dispensa-se, assim, a necessidade de percorrer plataformas diferentes quando um obstáculo específico se apresenta.
a. Objetivos
2.1 Objetivo geral
Desfragmentar o cenário atual EAD unificando funções e soluções em apenas uma plataforma digital, proporcionando uma experiência centralizada e eficiente a todos os agentes do processo acadêmico-educacional, como alunos e docentes.
2.2 - Objetivos específicos
- Melhorar a eficiência de gestão de atividades e suas correções por parte do professor;
- Unificar funções de diferentes plataformas em uma só, dispensando a necessidade de uso de outras plataformas diferentes;
- Facilitar o processo de criação e administração de salas de aula oferecendo soluções;
- Centralizar informações com o objetivo de melhorar a eficiência de trabalho dos professores;
- Oferecer sistemas de comunicação por texto e vídeochamadas com o propósito de estimular a organização de estudos por parte dos estudantes.
b. Escopo do projeto
O MVP do Manthano ofereceria funções básicas como:
- Comunicação por chat: Em canais dedicados a matérias específicas, existiram chats de texto dedicados ao compartilhamento de arquivos e comunicação dos estudantes;
- Agendamento e programação de reuniões online: Ambos os professores e alunos poderão agendar reuniões online com objetivos variados - como videoaulas de professores ou grupo de estudos entre estudantes;
- Gestão de salas de aula por parte dos professores ou estudantes: a opção de fazer com que a sala de aula (Classroom) seja gestionado pelo professor ou aluno será dada ao usuário.
c. Principais entregas do projeto:
-
Desenvolvimento do webservice: a implementação das funcionalidades de back-end do projeto, feito em Django, como sua regra de negócio e o proporcionamento de informações para o front-end.
-
Desenvolvimento do front-end: fazendo uso do ReactJS e TailwindCSS, a parte frontal da aplicação receberá informações do webservice de modo a exibí-las de forma intuitiva e atraente.
d. Objetivos do projeto (itens quantificáveis que determinam se o projeto foi um sucesso ou não):
-
Implementação de todas as funcionalidades: com a grande diversidade e variedade de funções que o projeto deverá ter, seu sucesso será decidido pela porcentagem de soluções em si constituídas.
-
Feedback dos usuários: obter aprovação dos usuários com avaliações positivas ou críticas construtivas que colaborem na lapidação do projeto.
e. Critérios de aceitação do produto:
-
O projeto deverá ter um design intuitivo, agradável e atraente, oferecendo uma experiência agradável aos usuários;
-
O projeto deverá apresentar estabilidade conforme o uso do usuário, não apresentando bugs, erros e inconformidades de design;
-
O projeto deverá apresentar responsividade conforme diferentes proporções de resoluções são exigidas ao front-end, adaptando-se em diferentes tipos de dispositivos.
-
O projeto deverá apresentar uma navegação acessível, exibindo opções intuitivas de navegação ao usuário;
-
O projeto deverá de ter seu uso aprovado por ambos usuários e professores.
-
Não cumprimento da implementação das funcionalidades do projeto Probabilidade: média Impacto: crítico Mitigação: desenvolver o projeto dentro de uma programação organizada que reflita a capacidade do desenvolvedor de implementar todas as funcionalidades devidas.
-
Mudança nos conceitos funcionais dedicados ao projeto por conta de obstáculos em suas implementações Probabilidade: alta Impacto: médio Mitigação: implementar funções no projeto cujo tempo de desenvolvimento esteja dentro do tempo restante referente à entrega do projeto.
-
Vulnerabilidades de segurança Probabilidade: média Impacto: crítico Mitigação: seguir práticas de segurança confiáveis, implementando sistemas de autenticação criptografados e a atualização frequente das bibliotecas e outras ferramentas utilizadas no projeto.
-
Baixa aprovação dos estudantes ou professores devido a má implementação dos recursos do projeto Probabilidade: baixa Impacto: médio Mitigação: implementar ou redesenhar funções solicitadas pelos usuários com o objetivo de manter o projeto a par de seus desejos e vontades por meio de pesquisas com os estudantes e docentes.
-
Baixa aprovação dos estudantes ou professores devido a inferioridade do projeto em relação a concorrentes Probabilidade: média Impacto: médio Mitigação: estudar os concorrentes e identificar onde se diferenciam e onde falham, comparando os resultados obtidos com o cenário atual oferecido pelo projeto.
Tecnologia | Versão | Descrição |
---|---|---|
NPM | v10.5.0 | Gerenciador de pacotes Node.JS |
Node.JS | v21.6.2 | Runtime JavaScript utilizado para rodar JavaScript fora do navegador |
VS Code | v1.87.0 | Editor de texto com suporte a plugins |
Git | v2.44.0 | Sistema de controle de versionamento |
GitHub | - | Plataforma de hospedagem de repositórios Git |
ReactJS | v18.2.15 | Biblioteca JavaScript/TypeScript para criação de interfaces modularizadas |
Django | v4.2.6 | Framework Python MVC para desenvolvimento web |
TailwindCSS | v3.3.3 | Framework CSS utilizado para criação rápida de websites |
LucidChart | - | Plataforma online de diagramação |
SQLite | v3.45.1 | Base de dados relacional que dispensa o uso de um servidor |
Firefox | v123.0 | Navegador web |
ESLint | v8.45 | Ferramenta de análise estática para TypeScript |
Typescript | v5.0.2 | Superconjunto sintático JavaScript com suporte a tipagem estética |
Vite | v4.5.2 | Servidor de desenvolvimento local |
Axios | v1.5.1 | Biblioteca cliente HTTP para o navegador e Node.JS |
Antes de iniciar, certifique-se de que você possui os seguintes requisitos instalados no seu sistema: Python 3.9 ou superior; Git; Node.js e NPM.
a. Primeiro, clone o repositório do projeto para o seu ambiente de desenvolvimento local.
git clone https://github.com/reszkojr/manthano-backend;
cd manthano
b. Crie e ative um ambiente virtual Python
python -m venv venv
source venv/bin/activate # Para Linux e macOS
venv\Scripts\activate # Para Windows
c. Instale as Dependências do Back-end
pip install -r requirements.txt
d. Configure o Ambiente
Crie um arquivo .env
na raiz do projeto e configure as variáveis de ambiente necessárias, seguindo o exemplo do arquivo .env.example
e. Execute as Migrações do Banco de Dados
python manage.py migrate
f. Execute o Servidor de Desenvolvimento do Back-end
cd ..
python manage.py runserver
O servidor será aberto no endereço http://127.0.0.1:8000/
.
Agora, o ambiente de desenvolvimento do Manthano está configurado e pronto para uso!