Skip to content

RasecJavEnd/Main.java

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Sistema de Eventos em Java

📌 Visão Geral

Este projeto é um sistema de gerenciamento de eventos desenvolvido em Java. Ele permite que usuários cadastrem eventos, confirmem participação, visualizem eventos futuros, em andamento ou já ocorridos, e gerenciem suas inscrições. O sistema também salva os dados em arquivo (events.data), garantindo persistência entre execuções.

🛠️ Funcionalidades Principais

Cadastro de Usuário: Nome, e-mail, cidade e telefone.

Cadastro de Eventos: Cada evento possui ID único, nome, endereço, categoria, data/horário e descrição.

Gerenciamento de Participação:

Confirmar presença em eventos futuros

Cancelar participação

Listar eventos confirmados pelo usuário

Classificação de Eventos:

Próximos eventos

Eventos ocorrendo agora

Eventos já encerrados

Persistência de Dados:

Eventos salvos em arquivo (events.data)

Carregamento automático ao iniciar o programa

📂 Estrutura do Código

🔹 Categoria

Enum que define os tipos de eventos disponíveis. Inclui métodos para exibir categorias e selecionar por índice.

🔹 Usuario

Classe imutável que representa o usuário do sistema, com atributos como nome, e-mail, cidade e telefone.

🔹 Evento

Classe que representa um evento. Principais funcionalidades:

Serialização e desserialização para salvar/carregar eventos

Controle de participantes (adicionar/remover)

Verificação de status do evento: Ocorrendo agora, Já ocorreu, Próximo

🔹 SistemaEventos

Classe principal que gerencia toda a lógica do sistema:

Cadastro de usuário

Menu interativo

Listagem e ordenação de eventos

Confirmação/cancelamento de participação

Persistência em arquivo

🔹 Main

Classe de entrada do programa, responsável por iniciar o sistema.

📖 Fluxo de Execução

O programa inicia carregando os eventos salvos.

Solicita o cadastro do usuário.

Exibe o menu principal com opções:

Cadastrar evento

Listar eventos (todos, próximos, em andamento, passados)

Confirmar ou cancelar participação

Salvar eventos

Sair do sistema

O usuário interage com o sistema via console.

💡 Destaques Técnicos

Uso de coleções Java (List, Set) para armazenar eventos e participantes.

Manipulação de datas e horários com LocalDateTime e DateTimeFormatter.

Persistência simples com arquivos de texto (BufferedReader, BufferedWriter).

About

Trabalho de Sistemas de informação

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages