Devido a pandemia do corovavirus, as faculdades adoratam as aulas online, e percebemos que algumas faculdades estavam armazenando os links das gravações em planilhas do excel, o que após um certo tempo, foi perceptível que isso não foi uma boa solução, principalmente pelo fato de ter uma grande quantidade de aulas, o que acaba dificultando tanto para o aluno quanto para o coordenador a visualização das mesmas, o que levou a um visível desinteresse nas aulas por parte dos alunos, o que pode ser confirmado pelo fato de cada vez menos alunos visualizarem as gravações. O Aluno não pode por exemplo procurar uma aula de uma disciplina específica, é necessário procurar no calendário o dia da semana, para então, procurar a data nas planilhas. O que torna um trabalho cansativo e entediante.
Visando a solução desse problema, desenvolvemos uma plataforma moderna, e rápida responsável por gerenciar e disponibilizar de maneira visual e organizada as aulas gravadas, onde os alunos podem acessar suas respectivas aulas e salas online, podendo ver os assuntos, filtrar por dia da semana e disciplina, o que torna muito mais fácil e organizado o modo como se procura as aulas e salas. Com a plataforma, fica muito mais fácil e intuitivo para o coordenador gerenciar as aulas gravadas, onde é possível atribuir disciplinas, períodos e assuntos para uma aula, o que torna possível por exemplo pesquisar pelas aulas de um período em específico. A plataforma também foi desenhada para atender perfeitamente os usuários que acessam pelo celular (o que é uma experiência horrível utilizando excel).
- ASP.NET Core 3.1 (API + MVC)
- MySQL
- Docker & Docker-Compose
- C# 8
- Nginx
O projeto é 100% open source e contribuições são 100% bem-vindas, bastar fazer uma PR ou Issue :)
Você pode conferir a apresentação completa do projeto aqui
Trello: Ver
O projeto está licenciado sob a licença MIT.
O projeto segue o padrão de nomenclatura especificado aqui
Organizamos o projeto em 4 camadas principais: Controller, Repository, Business e VO (value object)
Para rodar o projeto em produção, basta ter o docker-compose instalado, entrar na pasta raiz do projeto e subir os containeres rodando o script de deploy como abaixo:
root@speckoz:~$ bash deploy.sh
Após isso o servidor estará rodando na sua porta 80.
Nota: Visando uma maior segurança, apenas o container do nginx (porta 80) está exposto
Para rodar o projeto localmente, você precisa ter instalado o .NET Core SDK 3.1 e o MySQL. Antes de iniciar o projeto, certique-se de ter setado as variaveis de ambiente 'DBHOST', 'DBPASSWORD' 'DBPORT' e 'DBUSER' no arquivo 'UniLinks.API/Properties/lanchSettings.json para que a API consiga se conectar no banco.
Após isso basta iniciar o projeto UniLinks.API e o projeto UniLinks.Client.Site e o servidor estará rodando na porta 5000
Se você estiver usando o dotnet cli basta rodar o comando abaixo no projeto da API e no Client.Site
root@speckoz:~$ dotnet run