Skip to content

MateusMonteiro11/streaming_java_app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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

License

Stars

2 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages