Um aplicativo para ajudar na realização do seu evento!
Explore a documentação do projeto »
·
Reporte um Bug
·
Solicite uma Feature
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.
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.
Para começar a usar e modificar a aplicação no seu dispositivo local, você precisará seguir algumas instruções abaixo:
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_mobileAgora, caso possua um simulador Android ou iOS configurado na sua máquina, rode o comando:
flutter runSe 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).
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.
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.
- Registro
Nessa tela, os usuários podem preencher seus dados e realizar um cadastro.
- 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.
Usuário com privilégios de administrador: Início, Sobre nós, Scans, Minhas atividades, Mapa do evento e Fazer logout.
- 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.
- Sobre nós
Nela constam todas as informações sobre o evento: Descrição, Local, Organizadores, Informações adicionais e patrocinadores.
- Minhas atividades
Nela constam todas as atividades que foram favoritadas por um usuário.
- 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.
- Palestrantes
Nessa tela, estão todos os palestrantes confirmados do evento, contendo suas informações e redes sociais
- Mapa
Aqui, os usuários podem analisar um mapa completo do evento, podendo ampliar a imagem, caso necessário.
- Fazer logout
Ao clicar nesse botão, o usuário é deslogado do aplicativo e sua sessão encerrada.
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 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.
- Clone o projeto na sua máquina
- Crie sua branch de feature (
git checkout -b feature/AmazingFeature) - Commite suas mudanças (
git commit -m 'Add some AmazingFeature') - Faça o push das mudanças na branch remota (
git push origin feature/AmazingFeature) - Abra um Pull Request
- Espere por um review e merge :)
Distribuído dentro da licença MIT. Veja LICENSE para mais informações.
Caio Pardal - caiopardal - pardal.henrique@gmail.com
Project Link: https://github.com/caiopardal/mc853_mobile


















