Skip to content

About

Java Swing Implementation

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

23 Commits

Folders and files

Repository files navigation

Streaming Java App

Sistema desktop de streaming desenvolvido em Java utilizando Swing + PostgreSQL.


📌 Sobre o Projeto

O projeto consiste em uma aplicação desktop inspirada em plataformas de streaming, permitindo:

  • autenticação de usuários;
  • cadastro;
  • visualização de vídeos;
  • gerenciamento de playlists;
  • sistema de favoritos;
  • navegação entre telas;
  • persistência de dados com PostgreSQL.

🧱 Tecnologias Utilizadas

Tecnologia Finalidade
Java Linguagem principal
Java Swing Interface gráfica
PostgreSQL Banco de dados
JDBC Comunicação com banco
NetBeans IDE principal
PostgreSQL JDBC Driver Driver de conexão

🏗️ Arquitetura do Projeto

O projeto segue uma arquitetura em camadas semelhante ao padrão MVC adaptado para Java Swing.

Fluxo da aplicação

Usuário
   ↓
View (Swing)
   ↓
Service
   ↓
DAO
   ↓
PostgreSQL

📁 controller/

Responsável pelo fluxo principal da aplicação.

Principais responsabilidades

  • inicialização do sistema;
  • controle de navegação;
  • abertura das telas;
  • coordenação da aplicação.

📁 model/

Camada responsável pelos dados da aplicação.


🔹 Entities

Representam os objetos e entidades do sistema.


🔹 DAO (Data Access Object)

Responsável pelas operações no banco de dados.

Funções

  • INSERT
  • UPDATE
  • DELETE
  • SELECT

🔹 Connection

Responsável pela conexão com PostgreSQL, através de Conexao.java.


📁 service/

Camada de regras de negócio e estruturação lógica.

Principais responsabilidades

  • validações;
  • autenticação;
  • tratamento de lógica;
  • comunicação entre View e DAO.

📁 view/

Camada visual da aplicação, utilizando Java Swing para aderir a interface gráfica.


Principais componentes

Frames

Representam janelas principais.

LoginFrame
CadastroFrame
DashboardFrame

Panels

Representam componentes reutilizáveis.

VideoPanel
FavoritosPanel
BuscarVideoPanel

🎨 Sobre o Painel

O Painel basicamente é implementado através de um frame interativo que atualiza conforme a necessidade do usuario, gravando eventos os quais permitem gerenciar suas playlists de videos.

Exemplo visual: Painel

Isso permite reutilização de componentes dentro da aplicação.


📁 database/

Contém os arquivos SQL do projeto.

Esse arquivo permite:

  • recriar o banco;
  • importar tabelas;
  • restaurar dados rapidamente.

🗄️ Banco de Dados

O sistema utiliza PostgreSQL, a interface utilizada para o gerenciamento de dados durante o projeto foi o PgAdmin4.


▶️ Como Executar o Projeto

1. Clonar o repositório

git clone <repositorio>

2. Abrir no NetBeans

Abra a pasta do projeto normalmente.


3. Configuração do PostgreSQL e importação do banco

Instale PostgreSQL e crie o banco, após isto importe a pasta de backup do banco:

Backup


4. Configurar conexão

Edite:

Conexao.java

Com:

  • usuário;
  • senha;
  • URL do PostgreSQL.

Exemplo:

private static final String URL = "jdbc:postgresql://localhost:5432/postgres";
private static final String USER = "postgres";
private static final String PASSWORD = "sua_senha";

5. Adicionar JDBC Driver

Caso necessário, execute o JAR Driver como no exemplo:

JAR


🧠 Conceitos Aplicados

  • Orientação a Objetos;
  • Encapsulamento;
  • Herança;
  • JDBC;
  • DAO Pattern;
  • Componentização Swing;
  • Arquitetura em Camadas.

📚 Objetivo Acadêmico

Este projeto possui foco educacional e acadêmico, servindo como estudo prático de:

  • Java Desktop;
  • Banco de Dados;
  • Interfaces gráficas;
  • Arquitetura de software;

About

Java Swing Implementation

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages