Skip to content

arturbomtempo-learning/software-project-final-work

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Ondekié - Sistema de Gestão de Eventos

O Ondekié é um sistema de gestão de eventos desenvolvido como trabalho final da disciplina Projeto de Software do 4º período do Bacharelado em Engenharia de Software da PUC Minas, sob orientação do Prof. Dr. João Paulo Aramuni.

A plataforma permite que usuários descubram lugares e eventos bacanas - shows, festivais, exposições e muito mais - e realizem a compra de ingressos de forma prática. O sistema contempla três perfis de acesso: Participante, Organizador e Administrador, cada um com funcionalidades específicas para compra, gestão e moderação de eventos.

Este repositório reúne exclusivamente a modelagem do sistema, documentada no estilo TCC da PUC Minas, por meio de diagramas UML elaborados com PlantUML. O desenvolvimento da aplicação em si não faz parte do escopo deste trabalho.
Logo Ondekié

🚧 Status do Projeto

PlantUML Licença Versão UML


📚 Índice


🔗 Links Úteis


📝 Sobre o Projeto

O Ondekié surgiu da necessidade de reunir em um único lugar a descoberta de eventos culturais, shows, festivais e locais de entretenimento, combinando essa funcionalidade com a conveniência de adquirir ingressos diretamente pela plataforma.

O projeto foi desenvolvido exclusivamente como modelagem de sistema, seguindo práticas profissionais de Engenharia de Software e documentado no padrão TCC da PUC Minas. Toda a especificação foi construída com diagramas UML utilizando PlantUML, abrangendo visões estruturais, comportamentais e de implantação do sistema.

O escopo da modelagem contempla:

  • Levantamento de requisitos com 29 casos de uso distribuídos entre três perfis de atores
  • Visão estrutural com diagramas de classes, componentes e modelo lógico de dados
  • Visão comportamental com diagramas de sequência, comunicação e estados
  • Visão de implantação com a arquitetura de microsserviços e diagrama de deployment

✨ Funcionalidades Principais

  • 🔐 Autenticação e Recuperação de Senha: Login seguro e fluxo de recuperação de acesso para todos os perfis.
  • 🔍 Descoberta de Eventos e Locais: Pesquisa e navegação por eventos disponíveis e locais de entretenimento cadastrados.
  • 🎟️ Gestão de Ingressos: Inscrição em eventos, compra de ingressos, visualização e validação de entradas.
  • 💳 Pagamento e Reembolso: Fluxo de pagamento integrado com confirmação de ação e solicitação de reembolso.
  • Avaliação e Feedback: Avaliação de eventos participados e envio de feedback sobre a plataforma.
  • 🗂️ Gestão de Eventos pelo Organizador: Criação, edição e moderação de eventos e locais de entretenimento, com visualização de métricas e participantes.
  • 🛡️ Administração da Plataforma: Gerenciamento de categorias, acesso de organizadores, moderação de eventos e acompanhamento de feedbacks.
  • 🔖 Favoritos: Marcação de eventos de interesse para acompanhamento futuro.

🛠 Tecnologias Utilizadas

Este projeto é exclusivamente de modelagem de software, sem implementação de código de produção. A única tecnologia utilizada foi:

Ferramenta Descrição Versão
PlantUML Ferramenta de geração de diagramas UML a partir de texto simples v1.2025

Todos os diagramas foram criados em arquivos .puml e exportados como imagens .png.


🏗 Modelagem do Sistema

A modelagem do Ondekié cobre as principais visões arquiteturais e comportamentais do sistema, abrangendo desde a especificação de casos de uso até a definição estrutural de componentes, classes e fluxos de interação.


Diagrama de Casos de Uso

Especifica os 29 casos de uso do sistema, distribuídos entre os atores Usuário, Participante, Organizador e Administrador.

Diagrama de Casos de Uso

Diagrama de Arquitetura

Apresenta a visão macro da arquitetura do sistema, baseada em microsserviços, com os principais serviços, responsabilidades e interações entre eles.

Diagrama de Arquitetura

Diagrama de Classes

Define a estrutura estática do sistema, com as entidades principais, seus atributos, métodos e os relacionamentos entre as classes.

Diagrama de Classes

Diagrama de Componentes

Descreve a organização dos componentes de software do sistema e as interfaces que os conectam.

Diagrama de Componentes

Diagrama de Implantação

Ilustra a infraestrutura física e lógica de implantação do sistema, incluindo servidores, contêineres e a distribuição dos serviços.

Diagrama de Implantação

Modelo Lógico

Representa o modelo lógico de dados do sistema, com as entidades, atributos e relacionamentos do banco de dados.

Modelo Lógico de Dados

Diagrama de Estados

Modela o ciclo de vida dos principais objetos do sistema, especificando os estados possíveis e as transições entre eles.

Diagrama de Estados

Diagramas de Sequência

Detalham a ordem das interações entre os objetos do sistema para os fluxos mais relevantes.

Sequência Geral

Diagrama de Sequência Geral

UC06 - Gerenciar Inscrição no Evento

Diagrama de Sequência Diagrama de Comunicação
Sequência UC06 Comunicação UC06

UC07 - Realizar Pagamento do Ingresso

Diagrama de Sequência Diagrama de Comunicação
Sequência UC07 Comunicação UC07

UC16 - Gerenciar Eventos

Diagrama de Sequência Diagrama de Comunicação
Sequência UC16 Comunicação UC16

Diagramas de Comunicação

Os diagramas de comunicação dos casos de uso UC06, UC07 e UC16 estão agrupados junto aos respectivos diagramas de sequência na seção anterior.


📂 Estrutura de Pastas

.
├── README.md                                      # 📘 Documentação principal do projeto
├── LICENSE.md                                     # ⚖️ Licença MIT do projeto
│
├── codes/                                         # 📁 Código-fonte dos diagramas PlantUML
│   ├── architecture-diagram/
│   │   └── architecture-diagram.puml              # 🏗️ Diagrama de Arquitetura
│   ├── class-diagram/
│   │   └── class-diagram.puml                     # 🧬 Diagrama de Classes
│   ├── communication-diagram/
│   │   ├── uc06-communication-diagram.puml        # 💬 Diagrama de Comunicação - UC06
│   │   ├── uc07-communication-diagram.puml        # 💬 Diagrama de Comunicação - UC07
│   │   └── uc16-communication-diagram.puml        # 💬 Diagrama de Comunicação - UC16
│   ├── component-diagram/
│   │   └── component-diagram.puml                 # 🧩 Diagrama de Componentes
│   ├── deployment-diagram/
│   │   └── deployment-diagram.puml                # 🌐 Diagrama de Implantação
│   ├── logical-model/
│   │   └── logical-model.puml                     # 🗄️ Modelo Lógico de Dados
│   ├── sequence-diagram/
│   │   ├── general-sequence-diagram.puml          # 🔁 Diagrama de Sequência Geral
│   │   ├── uc06-sequence-diagram.puml             # 🔁 Diagrama de Sequência - UC06
│   │   ├── uc07-sequence-diagram.puml             # 🔁 Diagrama de Sequência - UC07
│   │   └── uc16-sequence-diagram.puml             # 🔁 Diagrama de Sequência - UC16
│   ├── state-diagram/
│   │   └── state-diagram.puml                     # 🔄 Diagrama de Estados
│   └── use-case-diagram/
│       └── use-case-diagram.puml                  # 🎯 Diagrama de Casos de Uso
│
├── docs/
│   └── project-documentation.pdf                 # 📄 Documentação completa do projeto (TCC)
│
└── images/                                        # 📁 Imagens exportadas dos diagramas
    ├── architecture-diagram/
    │   └── architecture-diagram.png
    ├── class-diagram/
    │   └── class-diagram.png
    ├── communication-diagram/
    │   ├── uc06-communication-diagram.png
    │   ├── uc07-communication-diagram.png
    │   └── uc16-communication-diagram.png
    ├── component-diagram/
    │   └── component-diagram.png
    ├── deployment-diagram/
    │   └── deployment-diagram.png
    ├── logical-model/
    │   └── logical-model.png
    ├── sequence-diagram/
    │   ├── general-sequence-diagram.png
    │   ├── uc06-sequence-diagram.png
    │   ├── uc07-sequence-diagram.png
    │   └── uc16-sequence-diagram.png
    ├── state-diagram/
    │   └── state-diagram.png
    └── use-case-diagram/
        └── use-case-diagram.png

🔗 Documentações Utilizadas


👨🏻‍💻 Autor



Artur Bomtempo

Desenvolvido por Artur Bomtempo 👋🏻. Entre em contato:

Gmail Badge LinkedIn Badge Instagram Badge


🙏 Agradecimentos

  • Engenharia de Software PUC Minas - Pelo apoio institucional, estrutura acadêmica e fomento às boas práticas de Engenharia de Software.
  • Prof. Dr. João Paulo Aramuni - Pelos ensinamentos sobre Projeto de Software, Arquitetura de Software e Padrões de Projeto, e pelo template base deste README.
  • PlantUML - Pela ferramenta open-source que tornou possível a criação de todos os diagramas deste projeto de forma simples e eficiente.

📄 Licença

Este projeto é distribuído sob a Licença MIT.

About

Final project developed for the Software Project course, focusing on the analysis, design, and UML modeling of an event management platform using PlantUML.

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors