Este trabalho apresenta o desenvolvimento de um sistema para gerenciamento e divulgação de eventos, com funcionalidades de confirmação de presença, geração de certificados de participação, além da captação de leads para comunicação futura entre os participantes e os organizadores
Introdução
Tal como todas as áreas do conhecimento, a área de tecnologia demanda uma constante interação entre seus interessados. Essas interações geram desde pequenos insights até novos negócios. Talvez por isso, eventos do tipo se tornam muito procurados e gerenciá-los é uma tarefa complicada, pois:
- Necessária página para divulgação
- Há o cadastro dos interessados
- Se não for gratuito, é preciso cobrar
- Em eventos com diversas atividades, com vagas limitadas e com atividades ocorrendo em paralelo, é preciso coordenar a inscrição dos interessados
- Validar presença no evento para gerar certificado
- Entre muitas outras coisas
Neste ponto surge um problema: É possível criar um sistema que torne o gerenciamento de inscrições e certificações mais eficiente?
Baseado neste contexto, podemos destacar algumas necessidades:
- Captação de público-alvo com página web
- Cadastro de usuário
- Gerenciamento de eventos, atividades, inscrições e geração de certificado
Estas considerações citadas se tornam ainda mais interessantes quando uma faculdade se insere no contexto, a qual não possui somente a necessidade mas também a obrigação de ofertar eventos de tecnologia para a comunidade envolvida. e é neste momento que surge a oportunidade de desenvolvimento de um sistema para controle e gerenciamento de eventos.
Análise de propostas no mesmo seguimento
Buscou-se no mercado ferramentas para gestão de eventos que ofertasse pelo menos:
- Inscrição usuário no sistema
- Inscrição usuário evento/atividade
- Geração de certificado
Dentre os que mais se destacaram podemos citar a Sympla, plataforma de gerenciamento de eventos diversos que permite ao usuário criar, divulgar e cobrar pelo evento, sem a necessidade da empresa intervir, ou seja, o próprio usuário cria e gerencia seu próprio conteúdo. Embora muito personalizável, a Sympla oferece apenas cadastro de evento como uma única instância, ou seja, o usuário se inscreve no evento, mas não tem a possibilidade de se inscrever em atividades distintas dentro deste evento. Outro ponto a se destacar é que a plataforma também não oferta a geração de certificado de participação.
Tela inicial da empresa Sympla
O Ingresso Rápido é outra plataforma de oferta de inscrição em eventos, a qual é muito conhecida por gerenciar eventos de grande porte, bem como Tickets For Fun e Livepass. Porém não aceita que o próprio usuário crie e gerencie seus próprios eventos como a Sympla.
Tela inicial da empresa Ingresso.com
Métodos e ferramentas
A agilidade para produção e entrega do sistema fez necessário a utilização de padrões de projetos já consolidados, onde optou-se pelo MVC - Model View Controller, o qual é representado pela figura a seguir.
Modelo MVC
Neste padrão de projeto:
- MODEL: tem ações sobre dados persistidos, como exemplo tem a responsabilidade de acessar o banco de dados para buscar informações
- VIEW: apresenta ao usuário a tela do sistema
- CONTROLLER: é responsável pela intermediação entre o VIEW e o MODEL, as regras de negócio estão definidas nele
Para execução do sistema foi escolhido o framework CODEIGNITER, o qual é escrito na linguagem PHP (a qual será a linguagem padrão deste trabalho).
Em suma a topologia do sistema de eventos pode ser conferida pela imagem a seguir.
Topologia eventos Fatec
Onde:
Administrador
- Tem acesso às informações de todo o sistema e pode alterá-las
- Cria e manipula eventos e atividades
- Valida presença de usuário no evento e atividade
- Emite certificado
Usuário
- Faz cadastro no site
- Se inscreve em atividades
- Acessa certificados
Mobile
- Faz a validação do usuário (controlada pelo administrador) através de um aplicativo que faz a leitura de QRCODE
Webpage
- Fornece ao usuário acesso a eventos e atividades
- Fornece ao administrador acesso a página administrativa, eventos e atividades
Banco de dados
- Persiste as informações do sistema
O banco de dados tem sua estrutura definida de acordo com o seguinte diagrama
Modelo Entidade Relacionamento
Relato do processo
Conforme os requisitos levantados e discutidos, a implantação aconteceu em partes e algumas destas em paralelo, como pode ser conferido a seguir:
Gráfico de entregas do projeto Eventos Fatec
Houveram quatro momentos importantes durante o desenvolvimento, os quais são discutidos a seguir
-
Backend: foi o item mais demorado para ser desenvolvido, não pela programação em si mas pela lógica de
funcionamento, onde a equipe testou diversas possibilidades até chegar a forma na qual o sistema foi entregue.
O backend foi desenvolvido e mantido em uma máquina virtual, a qual está hospedada em um serviço
da empresa Digital Ocean.
- Criação do banco de dados: em suma o banco de dados utilizado foi o MariaDB, em sua versão gratuita
- Tratamento da persistência dos dados: elaborado todo o CRUD (criação, leitura, update e exclusão) para todas as tabelas do sistema, utilizando a camada MODEL do MVC
- Regras de negócio: definido como o sistema iria se comportar, quais regras deveriam existir e etc, utilizando a camada CONTROLLER do MVC
- Certificados: desenvolvimento do sistema de certificação automática de participação com validação através de QRCode
-
Frontend: seu desenvolvimento ocorreu em paralelo com o backend a partir da criação do banco de dados.
Para isto a equipe foi dividida em dois grupos e o que ficou a cargo do frontend, desenvolveu:
- Prototipação? fora realizado alguns protótipos para validação do layout, navegação e usabilidade do sistema. Não utilizou-se ferramentas digitais, apenas papel e caneta.
- Layout: preferiu-se utilizar um layout pronto, baseado nas premissas e requisitos do protótipo elaborado, o qual tem por objetivo divulgar o evento em questão e permitir o usuário se inscrever em atividades
- Tratamento do usuário: desenvolvimento das telas de login, inscrição e cancelamento de atividades, download de certificado e etc.
- Testes: desenvolvido em paralelo com a parte mobile, não foi utilizado qualquer ferramenta para realização dos testes, apenas simulações de usuário.
-
Mobile: optou-se por deixar por último o desenvolvimento da parte mobile frente a falta de tempo que a equipe tinha para entrega do sistema. Todos os aplicativos foram desenvolvidos em Android Studio, utilizando-se a linguagem Java.
- Aplicativo validação de presença: realiza a validação da presença do usuário na entrada do evento e também nas atividades que participou efetivamente, momento o qual gera o certificado automaticamente
- Aplicativo agenda evento: foi o último a ser entregue, tem como premissa exibir na tela uma lista com as atividades do evento, contendo local, horário, palestrante e descrição da atividade
Por fim, a entrega aconteceu durante a III Semana de Ciência e Tecnologia da Fatec Araras, a qual ocorreu entre 21 e 25 de outubro de 2019.
Resultados
Foi realizado a entrega de duas telas principais, a de usuário e administrador. Na tela de usuário temos basicamente a divulgação do evento/atividades, registro, login e inscrição/cancelamento de atividades para usuários comuns. Disponível em https://eventosfatec.dsicari.com.br/ ou pelo vídeo.
Página de usuário do sistema Eventos Fatec
A tela de administrador é capaz de incluir novos eventos, atividades e palestrantes, além de permitir alterações, inclusões, exclusões e leitura de todas as tabelas do banco de dados. Disponível apenas com login de administrador em https://eventosfatec.dsicari.com.br/home ou pelo vídeo.
Página de administração do sistema Eventos Fatec
Considerações
O funcionamento do sistema ocorreu sem maiores problemas durante a III Semana de Ciência e Tecnologia da Fatec Araras.Sempre que a equipe tomava ciência de qualquer erro ou ameaça de, se posicionava para prover a solução imediata e quando não conseguia, fornecia um telefone particular para o usuário entrar em contato para resolução.
As principais preocupações dos administradores e “clientes” (coordenação da Fatec Araras) eram os seguintes:
- Confronto de horários: caso um usuário se inscreve-se em atividades distintas que ocorressem no mesmo horário, o que não aconteceu pois foi previsto na análise de requisitos e também testado sob diversas extremas condições
- Validação de presença via QR Code: o aplicativo falhar era a principal e única preocupação geral do sistema, o qual respondeu com mais de 98% eficácia à este ponto, o que significa que das 405 requisições enviadas durante o evento para o servidor, 400 foram recebidas e persistidas no banco de dados.
O único ponto delicado foi o sistema de login, onde o usuário poderia ter problemas com a memória cache do navegador. A equipe não conseguiu resolver o problema durante o evento, porém respondeu de uma maneira muito objetiva:
Imagem de erro apresentada ao usuário
Em suma, o sistema se mostrou estável e crumpriu o seu papel, o de gerenciar os usuários e atividades do evento, além de proporcionar ao organizador informações úteis e muito relevantes, como: informações pessoais dos usuários (e-mail e telefone), interesses dos usuários, baseado em eventos/atividades inscritas e também promover a divulgação da marca