Skip to content

caiopardal/mc853_mobile

Repository files navigation

Contributors MIT License Issues Forks Stargazers


Logo

Inscritus

Um aplicativo para ajudar na realização do seu evento!
Explore a documentação do projeto »

· Reporte um Bug · Solicite uma Feature

Tabela de Conteúdos

Sobre o projeto

Inscritus

O aplicativo Inscritus é um projeto feito para facilitar a organização e visualização de seus eventos por parte de seus usários. Nele seus usuários poderão criar suas próprias contas, acessarem a programação do seu evento, favoritar atividades, encontrarem mais informações sobre o evento e muito mais. Já para a organização do evento, ele conta com scanner de QR Codes e funções personalizadas para auxiliar no gerenciamento das presenças e inscrições dos seus participantes.

Obs: Este projeto também possui uma plataforma web mobile que pode ser usado concomitantemente com o aplicativo aqui desenvolvido, apresentando novas funcionalidades para administradores e usuários. Para saber mais, acesse o repositório do site.

Feito com

O aplicativo foi desenvolvido utilizando a linguagem de programação Dart em conjunto com a tecnologia para construir aplicações mobile e web feita pelo Google, Flutter. Além disso, conta com o uso do Firebase como banco de dados e API principal.

Getting Started

Para começar a usar e modificar a aplicação no seu dispositivo local, você precisará seguir algumas instruções abaixo:

Pré-requisitos

Será necessário instalar o Flutter inicialmente. Para instalar o Flutter na sua máquina e começar a codar, siga o tutorial da documentação oficial (https://flutter.dev/docs/get-started/install), isso pode demorar algum tempo, pois existem diversas particularidades de cada sistema operacional. This is an example of how to list things you need to use the software and how to install them.

Bom, após feito isso, configure seu editor de preferência para podermos começar a codar nosso primeiro projeto. No meu caso, gosto bastante do Visual Studio Code (https://code.visualstudio.com/), pois além de ser um editor leve e prático, ainda conta com diversas extensões que podemos utilizar para diversas linguagens. Caso esteja utilizando ele também, recomendo que instale a extensão do Dart (https://marketplace.visualstudio.com/items?itemName=Dart-Code.dart-code) e a do Flutter (https://marketplace.visualstudio.com/items?itemName=Dart-Code.flutter).

Agora sim podemos iniciar o projeto. Abra um terminal e rode o seguinte comando no diretório desejado:

cd mc853_mobile

Agora, caso possua um simulador Android ou iOS configurado na sua máquina, rode o comando:

flutter run

Se não possuir, você pode conectar o seu dispositivo físico no seu computador com a depuração por usb ativada nas opções de desenvolvedor e fazer o mesmo processo. (É possível realizar isso de dentro do VSCode também, basta clicar em run na barra superior e depois em start debugging).

Configurações

Para rodar o projeto corretamente, precisará criar um novo projeto no Firebase e realizar as configurações necessárias para o sistema operacional do seu celular (Android ou iOS). Para isso, siga as instruções da própria documentação do Firebase:

Feito isso, basta criar as coleções do Banco de dados com todas as informações presentes nos modelos criados no projeto. Estes se encontram na pasta lib/models/

  • Guia com os nomes das coleções
Collection Name Model
users user
activities activity
speakers speaker
activity-types activity_type
locations location
feed announcement
First Collection SubCollection Fields
users favorites activity: string / createdAt: Timestamp
users registrations activity: string / registeredAt: Timestamp / registeredBy: Timestamp
users attendances activity: string / registeredAt: Timestamp / registeredBy: Timestamp
activities attendants user: string / registeredAt: Timestamp / registeredBy: Timestamp
activities registrations user: string / registeredAt: Timestamp / registeredBy: Timestamp

ATENÇÃO: Nenhuma das collections acima precisarão ser criadas previamente. As mesmas serão criadas automaticamente conforma a utilização do sistema.

Uso

Explicando um pouco mais de cada tela e casos de uso, temos:

  • Login

Nessa tela, os usuários que já possuem conta, podem entrar no app usando seu e-mail e senha.

Login

  • Registro

Nessa tela, os usuários podem preencher seus dados e realizar um cadastro.

Register

  • Menu lateral:

Nele estão presentes todas as telas e navegações possíveis do app.

Usuário comum: Início, Sobre nós, Minhas atividades, Mapa do evento e Fazer logout.

Sidebar

Usuário com privilégios de administrador: Início, Sobre nós, Scans, Minhas atividades, Mapa do evento e Fazer logout.

SidebarAdmin

  • Tela de início:

Nela constam duas tabs principais: Mural de notícias, onde os usuários podem checar avisos sobre o evento e outras informações pertinentes e Atividades, onde os usuários possuem acesso a todas as atividades presentes no cronograma do evento. Além disso, caso você seja um usuário sem permissões de administrador, você também terá acesso a um botão que te leva ao seu QR Code de inscrição do evento.

Initial

Announcements

Activities

Favorite

  • Sobre nós

Nela constam todas as informações sobre o evento: Descrição, Local, Organizadores, Informações adicionais e patrocinadores.

About

  • Minhas atividades

Nela constam todas as atividades que foram favoritadas por um usuário.

MyActivities

  • Scans

Nessa tela, os administradores, poderão escolher a atividade que desejam realizar as inscrições e, após isso, ler os QR Codes de cada participante.

Scans

Scan Action

Scan Activities

Permission

ReadQR

QR Fail

QR Success

  • Palestrantes

Nessa tela, estão todos os palestrantes confirmados do evento, contendo suas informações e redes sociais

Speakers

  • Mapa

Aqui, os usuários podem analisar um mapa completo do evento, podendo ampliar a imagem, caso necessário.

Map

  • Fazer logout

Ao clicar nesse botão, o usuário é deslogado do aplicativo e sua sessão encerrada.

Estrutura de pastas

A estrutura dos arquivos do projeto se dá da seguinte forma:

/
  |-/android --> Arquivos de configuração específica para o app Android
  |-/ios --> Arquivos de configuração específica para o app iOS
  |-/pubspec.yaml --> Arquivo para gerenciamento das Dependências do projeto
  |-/assets --> Imagens
  |-/test -> Diretório com todos os testes do projeto
  |-/lib 
    |-/Bloc --> Código dos blocos de gerenciamento de estados do projeto
      |-/authentication --> Bloc de autenticação
      |-/login --> Bloc de login dos usuários
      |-/register --> Bloc de registro de usuários
    |-/helpers --> Arquivos para auxiliar algumas funções do projeto 
    |-/models --> Definição dos modelos do banco de dados 
    |-/repositories --> Repositórios contendo dados do usuário 
    |-/services --> Serviços do sistema 
    |-/views --> Implementação da UI das telas do projeto 
    |-/widgets --> Implementação da UI dos componentes do projeto     

Contribuições

Contribuições são o que tornam a comunidade open-source um lugar incrível para aprender, inspirar e criar. Todas as contribuições que você fizer serão muito apreciadas.

  1. Clone o projeto na sua máquina
  2. Crie sua branch de feature (git checkout -b feature/AmazingFeature)
  3. Commite suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Faça o push das mudanças na branch remota (git push origin feature/AmazingFeature)
  5. Abra um Pull Request
  6. Espere por um review e merge :)

Licença

Distribuído dentro da licença MIT. Veja LICENSE para mais informações.

Contato

Caio Pardal - caiopardal - pardal.henrique@gmail.com

Project Link: https://github.com/caiopardal/mc853_mobile

About

Repository that contains projects from MC853 - UNICAMP

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages