DEVELOPMENT OF A WEB SOFTWARE PROTOTYPE FOR EVENT MANAGEMENT AT CENTRO UNIVERSITÁRIO NOBRE – UNIFAN
REGISTRO DOI: 10.69849/revistaft/ra10202504051421
Angelo Gabriel Bastos Pinto1
Izzana Barbosa Martins2
José Vinícius de Melo Ribeiro3
Gean Paulo Trabuco Lima4
Resumo
O projeto “Software de eventos acadêmicos” foi moldado a partir de uma demanda institucional por um sistema próprio de venda de ingressos. A proposta busca atender as necessidades e desafios enfrentados pela universidade ao gerir seus eventos e oferecer aos seus alunos uma experiência única e segura para acompanhar seus ingressos e certificados, além disso, colocar em suas mãos mais autonomia e liberdade sem depender de ferramentas de terceiros. O framework escolhido para o desenvolvimento do frontend foi o React, visto que ele é bastante utilizado atualmente no mercado e possui fácil implementação. Para o backend foi escolhido o framework Laravel, que também é bastante utilizado no mercado e possui fácil sintaxe.
Palavras-chave: Eventos, Software, framework, protótipo.
1 INTRODUÇÃO
A Unifan – Centro Universitário Nobre, localizada em Feira de Santana, Bahia, enfrenta um desafio crescente na gestão de seus eventos acadêmicos e extracurriculares. Atualmente, a instituição não possui um sistema automatizado para a venda de ingressos, e recorre a ferramentas de terceiros, o que impacta diretamente a eficiência operacional e a experiência dos alunos. A emissão de certificados também é um processo lento e sujeito a perdas de documentos. Sem um sistema automatizado, a instituição enfrenta dificuldades em controlar a capacidade dos eventos, garantir a transparência das inscrições e acompanhar o status dos certificados. A falta de dados precisos impede a tomada de decisões estratégicas e a instituição perde tempo e recursos com tarefas manuais que poderiam ser automatizadas. A insatisfação dos alunos com a burocracia e a falta de agilidade nos processos é um reflexo direto dessas deficiências.
Este cenário exige a implementação de um sistema automatizado para a gestão de eventos, capaz de otimizar a venda de ingressos, a emissão de certificados e o controle da capacidade dos eventos. Com um sistema integrado, a Unifan poderá oferecer uma experiência mais eficiente e transparente aos seus alunos, além de reduzir custos e otimizar a utilização de seus recursos.
Ao automatizar os processos, a Unifan poderá coletar dados precisos sobre os eventos, permitindo a análise do desempenho e a tomada de decisões mais estratégicas. Além disso, a instituição poderá oferecer aos alunos um sistema online para acompanhamento das inscrições e emissão de certificados, aumentando a satisfação e a agilidade no atendimento.
A implementação de um sistema automatizado para a gestão de eventos representa um investimento estratégico para a Unifan, que trará benefícios a curto e longo prazo, tanto para a instituição quanto para seus alunos.
Diante de todo o cenário exposto, indaga-se: como a implementação de um sistema automatizado de venda de ingressos e emissão de certificados pode otimizar a gestão de eventos da Unifan, reduzir custos operacionais e melhorar a satisfação dos alunos?
Com base na análise apresentada, a implementação de um software de venda de ingressos personalizado para a Unifan emerge como uma solução estratégica e essencial. Essa ferramenta automatizada facilitará significativamente os processos de venda de ingressos e emissão de certificados, proporcionando uma experiência mais fluida e satisfatória para alunos, funcionários e demais participantes dos eventos.
Além disso, a otimização dos processos internos resulta em uma redução dos custos operacionais e em um uso mais eficiente dos recursos da instituição. A automatização também contribui para a consolidação da imagem da Unifan como uma instituição inovadora e comprometida com a excelência no atendimento, tecnologia e inovação.
Em resumo, a implementação de um software de venda de ingressos é um investimento estratégico para a Unifan, que traz benefícios a curto e longo prazo para a instituição e para toda a comunidade acadêmica.
2 FUNDAMENTAÇÃO TEÓRICA
Neste tópico será tratado sobre as linguagens e frameworks utilizados no desenvolvimento do projeto, o método ágil que foi aplicado ao longo do desenvolvimento, o software de modelagem, assim como o banco de dados da aplicação.
1.1 REACT.JS
Segundo a sua documentação, trata-se de um framework que permite a criação de interfaces de usuário a partir de peças individuais de componentes. A escolha do React.js se justifica por sua popularidade, vasta comunidade, rica documentação, pela facilidade na reutilização de seus componentes, pela escalabilidade que ele proporciona. O React também possui várias bibliotecas que auxiliam e facilitam o desenvolvimento de funcionalidades mais complexas, uma dessas bibliotecas é a Styled Components, que permite que você escreva código CSS real em componentes React.
1.2 LARAVEL
De acordo com o site oficial, trata-se de um Framework com sintaxe expressiva e elegante, tornando o desenvolvimento fluido. Sua arquitetura, por ser baseado na arquitetura Model, View, Controller (MVC), possui uma uma estrutura bem dividida e organizada, que facilita a manutenibilidade do código e o entendimento do mesmo, visto que ele faz a separação da parte lógica (Model), da parte de interação com o usuário (View) e da camada de controle (Controller).
1.3 KANBAN
É um método ágil utilizado em forma de quadro para visualizar o fluxo de trabalho, desde a criação das tarefas até a sua conclusão, permitindo a identificação de gargalos e a otimização do processo de desenvolvimento. Conforme destacado por Anderson D.J. (2010), o Kanban não apenas organiza o fluxo de trabalho, mas também promove o engajamento da equipe. Segundo o autor, “O Kanban promove o engajamento da equipe, tornando o processo de desenvolvimento mais transparente e colaborativo”.
1.4 FIGMA
É um editor gráfico e de prototipagem, que possui recursos que são utilizados para criar uma representação visual do produto final, orientando os desenvolvedores na construção da interface, o que o torna uma ferramenta indispensável para realizar a modelagem de um sistema.
1.5 POSTGRESQL
Em sua documentação ele é definido como um sistema de gerenciamento de banco de dados objeto-relacional (Adaptado da documentação do PostgreSQL). Ele é amplamente reconhecido por sua capacidade de lidar com grandes volumes de dados e realizar consultas complexas de forma eficiente. Como afirma Beckwith (2016), ‘O PostgreSQL oferece um conjunto robusto de ferramentas para otimizar o desempenho de consultas, permitindo que você extraia insights valiosos de grandes conjuntos de dados’.
1.6 ANÁLISE DE REQUISITOS
O site DevMedia define requisitos como as características e restrições que um sistema deve atender para satisfazer as necessidades dos usuários e os objetivos do projeto. Requisitos podem descrever tanto ações de um sistema quanto às restrições do desenvolvimento do mesmo.
Para Ian Sommerville (Engenharia de software, 2011, p. 72)
Os requisitos de um sistema são as descrições do que o sistema deve fazer, os serviços que oferece e as restrições a seu funcionamento. Esses requisitos refletem as necessidades dos clientes para um sistema que serve a uma finalidade determinada, como controlar um dispositivo, colocar um pedido ou encontrar informações.
Os requisitos são divididos em funcionais e não funcionais. Requisitos funcionais dizem respeito às funcionalidades que um software deve ser capaz de fazer, é tudo aquilo que os usuários finais devem conseguir realizar no sistema. Segundo Sommerville (2011), os requisitos funcionais de um sistema especificam as funcionalidades que ele deve oferecer. A forma como esses requisitos são expressos varia de acordo com o tipo de software, o perfil do usuário e a metodologia adotada no projeto. Enquanto os requisitos de usuário são mais abstratos e focados na perspectiva do usuário, os requisitos de sistema são mais detalhados e técnicos, descrevendo as funções do sistema de forma precisa. Requisitos não funcionais definem as restrições do sistema.
Para Ian Sommerville (Engenharia de software,2011, p.75)
Os requisitos não funcionais, como desempenho, proteção ou disponibilidade, normalmente especificam ou restringem as características do sistema como um todo. Requisitos não funcionais são frequentemente mais críticos que requisitos funcionais individuais.
1.6.1 REQUISITOS FUNCIONAIS DO SISTEMA
A tabela abaixo representa os requisitos funcionais do sistema, listando a descrição e o usuário responsável de cada um dos requisitos.
Tabela 1 – Requisitos Funcionais
Requisito | Descrição | Usuário Responsável |
Cadastro de Usuários | Os usuários podem se cadastrar com nome, sobrenome, e-mail, CPF e senha. | Usuário |
Login e Logout | Usuários podem fazer login e logout do sistema. | Usuário |
Criação de Eventos | Somente administradores podem criar eventos | Administrador |
Listagem de Eventos | Usuários podem visualizar uma lista de eventos disponíveis. | Usuário |
Pesquisa de Eventos | Usuários podem pesquisar eventos por nome. | Usuário |
Detalhes do Evento | Usuários podem visualizar detalhes do evento, incluindo data, local, descrição e preço. | Usuário |
Compra de Ingressos | Usuários podem comprar ingressos para eventos disponíveis. | Usuário |
Histórico de Compras | Usuários podem visualizar eventos aguardando pagamento, já pagos e finalizados. | Usuário |
Gerenciamento de Eventos | Organizadores podem gerenciar seus eventos, incluindo criação, acompanhamento das vendas e check-in dos participantes | Administrador |
Emissão de Certificados | Participantes podem emitir e baixar certificados de participação após o evento. | Usuário |
Gerenciamento de Certificados | Organizadores podem configurar e enviar certificados de participação para os participantes. | Administrador |
Visualização de Meus Eventos | Usuários podem visualizar eventos para os quais compraram ingressos ou participaram. | Usuário |
Fonte: Próprio Autor
1.6.2 REQUISITOS NÃO FUNCIONAIS DO SISTEMA
A tabela a seguir apresenta os requisitos não funcionais que impõem restrições técnicas ao sistema. Esses requisitos definem as características de qualidade do software, como segurança e usabilidade, que devem ser consideradas durante o desenvolvimento.
Tabela 2 – Requisitos não Funcionais
Requisito Não Funcional | Descrição |
Segurança | |
Integridade | Os dados armazenados no sistema devem ser precisos e consistentes, evitando alterações não autorizadas. |
Disponibilidade | O sistema deve estar disponível para os usuários 24 horas por dia, 7 dias por semana. |
Autorização | O sistema deve implementar mecanismos de autorização para garantir que cada usuário tenha acesso apenas às funcionalidades permitidas. |
Usabilidade | |
Interface intuitiva | A interface do sistema deve ser intuitiva e fácil de usar, permitindo que usuários com baixo nível de conhecimento técnico naveguem e utilizem suas funcionalidades. |
Consistência | A interface do usuário deve ser consistente em todo o sistema, facilitando a navegação. |
Fonte: Próprio Autor
1.7 DIAGRAMAS
Segundo o site LucidChart, um diagrama é uma representação simbólica de informações que ajuda a visualizar conceitos. Neste trabalho, utilizamos diagrama de classe e de caso de uso para representar a estrutura e o comportamento do sistema. Através desses diagramas, poderemos visualizar as classes, os objetos, as suas relações e as interações entre os usuários e o sistema, facilitando a compreensão do projeto.
1.7.1 DIAGRAMA DE CASO DE USO
Segundo o site DevMedia, o diagrama de caso de uso documenta o que o sistema faz do ponto de vista do usuário. Em outras palavras, ele descreve as principais funcionalidades do sistema e a interação dessas funcionalidades com os usuários do mesmo sistema. A figura abaixo descreve as interações entre os principais atores (usuários) e o sistema de software de eventos que está sendo desenvolvido, por meio de um Diagrama de Caso de Uso. No diagrama, identificam-se três atores principais, sendo eles o participante, que é o usuário comum do sistema que acessa as funcionalidades destinadas aos participantes de eventos, o administrador, que é responsável por gerenciar os eventos, visualizar histórico de compra e vendas e liberar certificados e por fim o sistema de pagamento, que é um sistema externo que processa as transações financeiras.
Figura 1: Diagrama de Caso de Uso do Software de Eventos
Fonte: Próprio Autor
O diagrama de caso de uso apresentado descreve as interações entre os atores e o sistema de software de eventos que está sendo desenvolvido.
No diagrama, identificam-se três atores:
- Participante: Usuário comum do sistema que acessa as funcionalidades destinadas aos participantes de eventos.
- Administrador: Responsável por gerenciar os eventos, visualizar relatórios e liberar certificados.
- Sistema de Pagamento: Sistema externo que processa as transações financeiras.
Funcionalidades
Cadastro de Usuário: O participante pode realizar o cadastro na plataforma para acessar as funcionalidades do sistema. Esse processo envolve a criação de uma conta com informações pessoais e credenciais de acesso.
- Login/Logout: Os participantes e administradores podem se autenticar no sistema para acessar suas respectivas funcionalidades e, ao final da sessão, sair do sistema.
- Listar Eventos: Todos os eventos disponíveis são exibidos ao participante, permitindo a visualização de todos os eventos cadastrados na plataforma.
- Pesquisar Eventos: O participante pode realizar buscas específicas por eventos de interesse, filtrando conforme critérios como data, tema ou local.
- Visualizar Detalhes do Evento: Após localizar um evento, o participante pode visualizar detalhes como data, local, descrição e capacidade de ingressos.
- Comprar Ingressos: Caso o participante tenha interesse em um evento, ele pode adquirir ingressos diretamente pela plataforma, que integra o Sistema de Pagamento para processar as transações financeiras.
- Pagamento: A compra de ingressos é concluída com a integração a um sistema externo de pagamento, que lida com as transações e confirmações financeiras.
- Emitir Certificados: Após a participação em um evento, o participante pode emitir certificados, que são gerados pelo sistema para comprovar sua presença.
Funcionalidades Administrativas
- Criar Eventos: O administrador tem a capacidade de cadastrar novos eventos, definindo todas as informações necessárias, como data, local, capacidade de público e preço de ingressos.
- Ver Histórico de Vendas: O administrador pode acompanhar o histórico de vendas de ingressos, analisando os eventos mais vendidos e gerenciando a ocupação dos eventos.
- Visualizar Histórico de Compras: O administrador também pode visualizar as compras realizadas pelos participantes, monitorando os ingressos vendidos e a demanda por eventos.
- Liberar Certificados: Ao final dos eventos, o administrador tem a função de liberar os certificados para os participantes que compareceram.
Interação com o Sistema de Pagamento
A funcionalidade de Pagamento está incluída no processo de compra de ingressos, sendo realizada através da integração com um sistema externo de pagamento. Este sistema assegura que todas as transações financeiras sejam realizadas de maneira segura e eficiente, permitindo que os participantes adquiram ingressos diretamente na plataforma.
1.8 DIAGRAMA DE CLASSE DE SOFTWARE DE EVENTOS
Segundo o site Lucidchart um Diagrama de classe é responsável por mapear de forma clara a estrutura de um determinado sistema através da modelagem de suas classes, seus atributos, operações e relações entre objetos.
O diagrama a seguir é dividido da seguinte forma:
- Classes
As classes são cada entidade que existe nele: Usuário, Ingresso, Evento e Certificado. Em outras palavras, o que o Diagrama sugere é que existirá estas 4 tabelas no banco de dados.
- Atributos
Os atributos se referem a características que cada classe possui. Elas serão as colunas das tabelas
- Operações
Operações se referem a ações que aquela Classe possui ou o que ela pode fazer
- Relações
A relação mostra como as classes se conectam. O exemplo acima, mostra por exemplo a relação de ingresso com certificado. Isso ocorre pois o certificado estará vinculado a um ingresso e por este motivo eles estão relacionados.
Figura 2: Diagrama de Classe do software de Eventos
Fonte: Próprio Autor
3 METODOLOGIA
Para o desenvolvimento do software de eventos acadêmicos e extracurriculares, foi adotada uma arquitetura em camadas, separando o front-end que se refere a interface do usuário e o back-end a lógica da aplicação e regra de negócio. No primeiro foi utilizado React.js e para o último a linguagem escolhida foi o PHP, utilizando o Framework Laravel
A fim de garantir a organização e o acompanhamento eficiente do desenvolvimento, foi utilizado o método ágil Kanban. O quadro foi dividido em quatro partes: a fazer, em progresso, revisão e concluído.
Para a modelagem do protótipo do sistema de venda de ingressos, optamos por utilizar o Figma. A escolha por essa ferramenta se justifica por sua interface intuitiva e pela possibilidade de colaboração em tempo real com a equipe de desenvolvimento. Recursos como a criação de componentes reutilizáveis e as bibliotecas de ícones nativas agilizaram significativamente o processo de design e garantiram a consistência visual do sistema. Além disso, a possibilidade de criar protótipos interativos permitiu simular a experiência do usuário final e identificar oportunidades de melhoria. Embora o Figma ofereça planos pagos com funcionalidades adicionais, o plano gratuito foi suficiente para atender às nossas necessidades durante toda a implementação, uma vez que já dispunha de um conjunto robusto de recursos.
Para o armazenamento dos dados, a escolha foi o banco PostgreSQL devido a sua escalabilidade, segurança e confiabilidade.
Além disso, ele foi projetado para ser compatível com todos os principais sistemas operacionais incluindo Linux, Windows e Macintosh, além de oferecer suporte a texto, imagens, sons e vídeos.
4 RESULTADOS E DISCUSSÕES OU ANÁLISE DOS DADOS
A ferramenta Canva, também muito utilizada para a criação de protótipos, define que: “Um protótipo é um design ou um modelo mais detalhado de algo que você pretende construir.” (Canva, 2024). Para o desenvolvimento do protótipo foi utilizado o Figma, isso possibilitou a criação de telas detalhadas, simulando a navegação entre as diferentes funcionalidades, como cadastro de usuário, listagem de eventos, compra de ingressos e emissão de certificados. A seguir, apresentaremos as principais telas do protótipo:
Figura 3: Protótipo da tela de Login

Figura 4: Protótipo da tela de Cadastro

Figura 5: Protótipo da tela inicial

Figura 6: Protótipo da tela de detalhes do evento

Figura 7: Protótipo da tela de pagamento

Figura 8: Protótipo da tela Meus Eventos – Aguardando pagamento

Figura 9: Protótipo da tela Administrador – Cadastro de eventos

Figura 10: Protótipo da tela Administrador – Meus eventos

4.1 Desenvolvimento do modelo de dados
Para o desenvolvimento do modelo de dados, o banco escolhido foi o PostgreSQL. Em sua documentação ela é definida da seguinte maneira:
“O PostgreSQL é um poderoso sistema de banco de dados objeto-relacional de código aberto com mais de 35 anos de desenvolvimento ativo, o que lhe conferiu uma sólida reputação em termos de confiabilidade, robustez de recursos e desempenho.” (PostgreSQL, 2024).
Para auxiliar no desenvolvimento do banco de dados foi feito um diagrama entidade relacionamento, segundo o site Lucidchart um diagrama entidade relacionamento (ER) é um tipo de fluxograma que ilustra como “entidades”, por exemplo, pessoas, objetos ou conceitos, se relacionam entre si dentro de um sistema.
Figura 3: Diagrama Entidade Relacionamento do software de Eventos
Fonte: Próprio Autor
5 CONCLUSÃO
Durante a construção do sistema, foi visto um grande potencial de crescimento junto à universidade e nesta seção serão apresentados diversos pontos que se farão presentes em futuras versões.
- Relatórios de participação: Geração de relatórios detalhados sobre número de inscritos, participação efetiva e taxas de presença.
- Análise de desempenho do evento: Disponibilizar métricas de engajamento e feedback dos participantes para avaliar o sucesso do evento.
- Acompanhamento financeiro: Oferecer um relatório financeiro das vendas de ingressos, incluindo receita e taxas de transação.
- Acesso administrativo: Definir níveis de permissão para a equipe de organização, garantindo que apenas usuários autorizados acessem e gerenciem as informações do evento.
- Área de suporte ao usuário: Implementar um canal de suporte para atendimento aos participantes, como chat ou sistema de tickets.
- Notificações automáticas: Enviar notificações sobre confirmação de inscrição, lembretes de eventos, disponibilidade de certificados e quaisquer alterações ou atualizações do evento.
- Incluir outras formas de pagamento: Adicionar a opção de pagamento por meio de cartão de crédito ou de débito.
REFERÊNCIAS
ANDER, D. J. Kanban: Successful Evolutionary Change for Your Technology Business. Blue Hole Press, 2010.
BECKWITH, J. High Performance PostgreSQL. Apress, 2016.
CANVA. FAQ – O que é um protótipo e quais são as suas características? Disponível em: https://www.canva.com/pt_br/prototipos/. Acesso em 01 out. 2024.
DEVMEDIA. Diagramas de caso de uso: O que é UML? Disponível em: https://www.devmedia.com.br/o-que-e-uml-e-diagramas-de-caso-de-uso-introducao-pratica-a-uml/23408. Acesso em 01 out. 2024.
DEVMEDIA. Introdução a Requisitos de Software. Disponível em: https://www.devmedia.com.br/introducao-a-requisitos-de-software/29580. Acesso em: 25 set. 2024.
FIGMA. Figma: Design interface software. Disponível em: https://www.figma.com/. Acesso em: 20 set. 2024.
LARAVEL. Laravel: The PHP Framework for Web Artisans. Disponível em: https://laravel.com/. Acesso em: 17 set. 2024.
LUCIDCHART. O que é um diagrama? Disponível em: https://www.lucidchart.com/pages/pt/exemplos/diagrama-online. Acesso em 27 set. 2024.
LUCIDCHART. O que é um diagrama entidade relacionamento? Disponível em: https://www.lucidchart.com/pages/pt/o-que-e-diagrama-entidade-relacionamento. Acesso em: 12 out. 2024.
MICROSOFT. Microsoft Azure. O que é PostgreSQL? Disponível em: https://azure.microsoft.com/pt-br/resources/cloud-computing-dictionary/what-is-postgresql. Acesso em 24 set. 2024.
POSTGRESQL. Documentation Preface: Whats is PostgreSQL. Disponível em: https://www.postgresql.org/docs/current/intro-whatis.html. Acesso em 24 set. 2024.
POSTGRESQL. The World ‘s Most Advanced Open Source Relational Database. Disponível em: https://www.postgresql.org/. Acesso em 24 out. 2024.
REACT. (2023). O que é React? Disponível em: https://pt-br.react.dev/. Acesso em: 17 de setembro de 2024.
SOMMERVILLE, Ian. Engenharia de software. 9. ed. São Paulo: Via Pearson Prentice. Dezembro, 2011.
STYLED-COMPONENTS. ‘: CSS for the <Component> Age. Disponível em: https://styled-components.com/. Acesso em: 22 set. 2024.
1 Discente do Curso Superior de Análise e desenvolvimento de sistemas do Centro Universitário Nobre – UNIFAN Campus Feira de Santana-BA e-mail: angelob4stos@gmail.com
2 Discente do Curso Superior de Análise e desenvolvimento de sistemas do Centro Universitário Nobre – UNIFAN Campus Feira de Santana-BA e-mail: izzana.martins@gmail.com
3 Discente do Curso Superior de Análise e desenvolvimento de sistemas do Centro Universitário Nobre – UNIFAN Campus Feira de Santana-BA e-mail: viniciusribe48@gmail.com
4 Docente do Curso Superior de Análise e Desenvolvimento de Sistemas do Centro Universitário Nobre – UNIFAN Campus Feira de Santana-BA. Mestre em Tecnologias Emergentes em Educação (MUST University). e-mail: geanptlima@gmail.com