Gerenciador de eventos
A área de tecnologia, por si só, tem a necessidade de propor debates e explanações sobre diversos assuntos. E comumente esses debates acontecem em eventos tais como seminários, simpósios, feiras, semanas acadêmicas, entre outros. Contudo, quando uma faculdade realiza um desses eventos, um problema de gestão aparece: como coordenar e gerenciar esses eventos?
terça, 30 de junho de 2020
eventosgerenciamento

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

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

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

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

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

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

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

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

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

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