Giter Club home page Giter Club logo

oficinabd's Introduction

Projeto da Oficina de Banco de Dados

O objetivo deste projeto é apresentar a forma para o desenvolvimento de uma aplicação Java, utilizando uma estrutura hierárquica de camadas, tendo por premissa a arquitetura MVC.

🎯 Índice


🌐 Visão Geral

Este projeto foi desenvolvido com base na Oficina de BD do professor Adriano de Melo que leciona na instituição. Com a evolução projeto o intuito é demonstrar na prática para nossos alunos, o que, como e com quais ferramentas podemos implementar projetos Java.


🛠 Tecnologias Utilizadas

  • Java 17
  • Maven 4.0
  • MySQL 8.0
  • Hierarquia de Pacotes
  • Arquitetura MVC
  • Dotenv para Java
LOGO STACK FUNÇÃO
Java 17 Java 17 Linguagem de programação escolhida para o desenvolvimento do Back-end da aplicação
Maven Maven 3.6.0 Ferramenta de gerenciamento para o build de código-fonte (construção dos artefatos para sua execução), pois padroniza o gerenciamento de dependências, a execução dos testes, o build e deploy da aplicação
MySQL 8.0 MySQL 8.0.33 Gerenciador de Banco de Dados de código aberto
Package Hierarchy Hierarquia de Pacotes Organização dos diretórios (pastas do projeto) dentro de responsabilidades específicas para cada uma das entidades implementadas
Dotenv Java Recurso para Variáveis de Ambiente Configuração dos recursos conforme necessidade de cada ambiente, a exemplo de Dev / Stage / Homolog / Prod. Projeto open source e desenvolvido por Carmine DiMascio

Hierarquia de Pacotes

Conceito relacionado ao conjunto de classes localizadas na mesma estrutura hierárquica de diretórios, geralmente agrupadas em pacotes comuns entre si, com o propósito de facilitar a reutilização de código.

.
└── OFICINABD/
    ├── assets/
    │   └── docs/
    ├── src/
    │   ├── main/
    │   │   └── java/br/com/lucianokogut/
    │   │       ├── controller
    │   │       ├── model
    │   │       │   ├── bo
    │   │       │   ├── dao
    │   │       │   └── vo
    │   │       ├── view
    │   │       └── Main.java
    │   └── test
    ├── Dockerfile
    ├── pom.xml
    └── README.md

A separação das camadas e dos pacotes em uma hierarquia MVC seguem o fluxo indicado abaixo.

Fluxo Aplicação

Neste projeto estão em uso as sub-camadas do Model, para que sejam separadas as responsabilidades das classes:

  1. VO - Pacote que mantém todas as classes que representam uma entidade do banco de dados, como um espelhamento do objeto principal que será trafegado de uma camada para outra.

  2. BO - Pacote que mantém todas as classes que possuem as regras de negócios e interagem com os objetos trafegados, com o objetivo de validar todas as regras existentes para cada objeto.

  3. DAO - Pacote que mantém todas as classes que preparam as querys para cada um das operações do CRUD, que acessam o banco de dados e executam as rotinas SQL no DB.

As demais camadas do fluxo (View e Controller) serão utilizadas em projetos, que necessitem de um front-end acessando os dados desta parte da aplicação, que pode ser considerado um projeto inicial de back-end.

Os pacotes da camada de modelo possuem as seguintes funções:

A camada VO representa as entidades (tabelas lá do banco de dados). A camada BO representa os serviços que serão desenvolvidos para validação dos dados. A camada DAO representa os repositórios que farão fisicamente o acesso ao BD, a persistência, a manipulação ou exclusão dos dados.

Fonte: https://tree.nathanfriend.io/


🤝 Contribuição

Estamos dispostos a ouvir suas sugestões para o andamento das aulas e a interdisciplinariedade do curso.

Tendo alguma outra demanda, entre em contato com os professores Adriano ou Luciano.

Adriano

Luciano


oficinabd's People

Contributors

lucianokogut avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.