INTRODUÇÃO SCGA.

Esse projeto foi feito com a itenção de ser o Trabalho de Conclusão de Curso (TCC) da Etec Zona Leste de São Paulo em 2023, com os integrantes Gustavo Pereira, Thiago Martins, André Caitano e Hugo Reblerson
Ele tem o objetivo de flexibilizar e deixar mais maleável a comunicação entre os alunos e professores, professores e técnicos e virse-versa no âmbito dos ambientes da unidade (Salas, Anexos e Laboratórios) utilizando-se a criação de contas com as 3 topologias citadas anteriormente e funcionalidades para visualizar, criar, editar e remover agendamentos ou reportes (avisos de problemas) e a viabilização do ambiente como o método utilizado para auxiliar e mitigar problemas envolvendo essa comunicação organizacional e dos ambientes.
Em minha divisão do projeto, eu fui o principal desenvolvedor das funcionalidades envolvendo o banco de dados NoSQL utilizado e o lado BackEnd do mesmo: o Firebase (Ex: Autenticação, Agendamento, Reportes, Calendário, Viabilização, Dashboard, Perfil)
Além disso, eu auxiliei e fiz desenvolvimneto dos Diagramas de Caso de Uso, Atividade, de Objeto/Classe, Sequência e da documentação do sistema

PROPRIEDADES DO PROJETO

Desenvolvimento BackEnd e de banco

Banco de dados: Não relacional (NoSQL ou Not only SQL) Firebase (especificamente as ferramentas Firestore, Realtime Database e Storage)
Linguagem: PHP e seu framework Laravel para o backend em especial da conexão dos usuários (Login, Cadastro, Esqueci senha, controle de sessão, etc.)

Desenvolvimento Web
e Client-Side

Foi utilizado especialmente o HTML (HyperText Markup Language), CSS (Cascading Style Sheet) e JS (JavaScript) para o desenvolvimento respectivo da estrutura, estilização e interação dinâmica do sistema e das ações dele

De framework existe o Bootstrap (Framework CSS) e de APIs o FullCalendar (para uma funcionalidade que envolve calendários) e o DialogFlow (o suporte do chatbot)

Outros utilitários

Aplicativo Astah (para diagramação), Figma (prototipação inicial), Gimp (edição de imagens), Firebase Authentication (autenticação de usuários)

TELAS

Homepage: Nessa tela temos resumidamente a introdução do sistemas, seus objetivos, clientes (público-alvo), propósitos, sobre nós, opinião dos instrutores e entre outros, além de a imagem nos mostrar que o site tem modo claro ou escuro pelo ícone da lua

Autenticação: Clicando em um dos botões de Cadastro ou Login, entramos em uma das telas de autenticação, as quais cada uma tem seu objetivo descrito no nome e o estilo visto na próxima imagem, sendo que todo esse sistema foi feito utilizando o aglomerado da funcionalidades do Firebase (FireStore, Authenticator, Realtime, Storage)

Dashboard: Fazendo login na conta do usuário, dependendo de que topologia o mesmo tem (aluno, professor ou técnico) temos algumas diferenças em cada tela, entretanto, só para amostra a tela escolhida para mostrar agora foi a do professor. assim vemos a apresentação do dashboard ao usuário, cards com funcionalidades principais do tipo de usuário em específico, uma sidebar no canto esquerdo mostrando mais funcionalidade, cada uma com seu ícone e no canto superior direito temos um ícone de calendário com o fundo azul, que tem o cronograma de hoje do usuário, seja ele aluno, professor ou técnico e abaixo o ícone de robô que serve como o chatbot (pequeno suporte) para o sistema que foi feito utilizando o DialogFlow

Profile: Seguindo a sequência das funcionades descritas no dashboard de cima para baixo, temos a tela de Perfil, com a opção do usuário alterar a imagem, email, nome e senha

Calendário: No ícone de calendário, temos um próprio para cada topologia/usuário, utilizando a API Fullcalendar do JS, em que o mesmo pode ir passando os e meses vendo os agendamentos envolvendo sua topologia (Visualização pessoal) e também ver a geral de todos os outros usuários (Visualização Geral), com ambas as opções estando no select abaixo do título da funcionalidade

Agendamento: O Agendamento é por onde apenas os Professores e Técnicos o acessam, por sua necessitade seja de agendar um horário para utilizar a sala para aula ou para manuntenção dos dispositivos respectivamente, assim alguns dos dados pedidos para o agendamento do técnico não se relaciona totalmente com o do professor, como é o caso Classe e Disciplina. Mais abaixo podemos ver os agendamentos que o usuário fez, que por sua está em anteriores para demonstra o estilo de cada lista da tabela, mas que por padrão se inicia-se com os próximos agendamentos, podendo-o mudar pelo select acima da tabela e do subtitúlo

Cronograma: No cronograma, local onde pode ser acessado pelo professor e técnico pelo link abaixo do título do agendamento, temos algo mais englobado, como no caso do calendário, entretanto com o filtro visto (atual e anterior) no agendamento e com a adição de uma tabela para aulas (professor) e manuntenções (técnico)

Reporte de Problmas: Como um auxiliar para o planejamento de agendamento e também para o Ambiente Organizacional da Unidade (enfoque principal do projeto), junto com o âmbito de agendamento também temos um pequeno sistema de reportar problemas nos ambientes de estudo (laboratórios e salas), com o objetivo principal de melhorar a comunicação geral do usuários da ETEC caso ocorra alguma ocorrência de problemas nos computadores dos labs, mitigando possíveis dores de cabeça tanto para o professor quanto ao aluno. Ao meio, vemos uma lista dos reportes feitos por um usuário, que pode editá-las ou também acrescentar uma nova no canto inferior direito (símbolo +), ou caso queira averiguar se o seu problema já foi reportado, filtrá-los pelo ícone de filtro no canto superior direito (lembrando que o técnico poderá ver esse reporte, e se caso for resolvido, marcar a mesma como resolvido)

Mapeamento e Viabilização: Em mapeamento, primeiro é possível ver o jogo de cores do tema escuro e segundo temos uma imagem do mapa da unidade, sendo uma outra alternativa para o usuário visualizá-lo sem precisar ficar descendo a barra na tela inicial do site. Logo após, temos a principal funcionalidade dela, que foi implementada por mim após o fim do TCC devido a falta de tempo: A Viabilização dos Ambientes (tornar mais palpável a visualização de cada ambiente de estudo e seus recursos no geral). Nela os usuários podem visualizar os recursos de cada anexo, laboratório de informática ou sala (cadeiras, PCs, Apps, SO, etc) com a ajuda geral da comunidade de professores e técnicos para atualizar esses recursos assim que necessário