Esse repositório contém o código do aplicativo móvel para uso de alunos, professores e técnicos do curso de Ciência da Computação da UFFS, Chapecó/SC.
Veja o arquivo ROADMAP para conhecer as funcionalidades esperadas para o aplicativo e um rascunho do plano de desenvolvimento.
IMPORTANTE: Sempre consulte o CONTRIBUTING e o ROADMAP antes de começar a desenvolver uma nova feature! Um bom começo pode envolver a consulta das ISSUES abertas.
As principais features do projeto são:
- Login de usuários com IdUFFS;
- Visualização de noticias;
- Leitor de noticias personalizável;
- QrCode único de usuário;
- Exibição de notícias importantes (Mensagens Diretas);
Segue abaixo algumas imagens das telas implementadas na versão atual do aplicativo
Caso tenha interesse em rodar localmente o projeto, siga os passos abaixo. Levem em consideração que sera necessário a instalação do flutter em seu computador, bem como um emulador ou um dispositivo android conectado e configurado em seu computador para a utilização com o aplicativo.
Tenha certeza de que possui o flutter instalado em seu computador. Mais detalhes sobre a instalação do flutter podem ser encontrados em seu site oficial.
git clone https://github.com/ccuffs/app-cc/
Vá até o diretório do projeto com o comando abaixo:
cd app-cc/
Execute o projeto com:
flutter run
Este projeto utiliza bloc como arquitetura de state management. Caso queira contribuir, leve em consideração que não sera admitido a utilização de outro state management (por exemplo providers).
Este projeto possui uma estrutura de pastas bem simples. Todos os blocs podem ser encontrados dentro de lib/blocs e novos blocs devem ser adicionados lá. Todas as Telas devem ser adicionadas em lib/screens e seus nomes devem seguir o prefixo nome_tela_view. Caso seja necessário, pode-se dividir os widgets e criar novos arquivos de widgets que devem ser adicionados as suas respectivas pastas a não ser que sejam um widget compartilhado.
Widgets compartilhados (usados por varias views) devem ser salvos dentro da pasta shared/widgets
Este projeto não usa uma lógica de controllers para separar funções e da a liberdade de utilização de setState em conjunto ao bloC caso facilite a implementação de determinada feature e mantenha o código consiso.
A licença desse projeto é a MIT License.