pstwh / uepgacadonline-flutter

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

App Flutter - Universidade Estadual de Ponta Grossa (não oficial).

Travis (.org) Play Store App Store GitHub tag (latest by date) GitHub contributors

Aplicativo desenvolvido para complementar o projeto do crawler: pstwh/uepgacadonline-api

Pontos importantes

  1. O objetivo desse projeto é beneficiar a comunidade acadêmica disponibilizando os dados de maneira portátil.
  2. Todos os dados utilizados nesse aplicativo são extraídos de páginas web da universidade, sendo assim dados públicos.
  3. Uma das características desse projeto é que ele é open source, ou seja, todos podem estudar a maneira a qual foi feito e contribuir para melhorar cada vez mais a plataforma.

A versão 0.1 estará em breve em ambas as lojas.

Sobre

Linguagem / Plataforma

O aplicativo foi desenvolvido utilizando a plataforma open source Flutter, do google. A plataforma Flutter por consequência utiliza a linguagem Dart. Podem ser consultados nos links a seguir:

Todos manuais de instalação e configuração se encontram no site.

Estrutura / Arquitetura do projeto

O projeto utiliza a arquitetura BLoC apresentada pelo google no I/O de 2018: Build reactive mobile apps with Flutter (Google I/O '18)

Foi utilizado o pacote flutter_bloc, para auxiliar na implementação: felangel/bloc

A estruturação dos arquivos na versão atual (v0.1) está:

  • Database (provider de acesso ao banco de dados).
  • Enums (enums do projeto).
  • Helpers (funções em geral para auxílio, pode ser refatorado para uma alternativa de extensions).
  • Models (modelos do projeto, foi utilizado o pacote json_annotation para geração de código: Serializing JSON using code generation libraries
  • Modules (todos os módulos do projeto, nessa estrutura temos a implementação base da arquitetura BLoC com auxílio do pacote bloc/flutter_bloc).
  • Repositories (centralizador de dados, pode e deve ser refatorado).
  • Services (requisições de acesso externo de dados, ou seja, requisições a 'api' - também deve ser refatorado).
  • Widgets (alguns widgets utilizados no projeto).

Todo o projeto tem centenas de questões que podem ser refatoradas. Isso ocorre devido ao tempo de implementação e lançamento da primeira versão.

Imagens

Android

iOS

About


Languages

Language:Dart 98.0%Language:Ruby 1.5%Language:Swift 0.3%Language:Kotlin 0.2%Language:Objective-C 0.0%