Code Monkey home page Code Monkey logo

kelps-project's Introduction

Kelps (Trabalho da A3)

Um cadastro de ferramentas e de amigos:

  • personalisável
  • seguro
  • automatizado

Desenvolvedores

  • Davi Moreira fuzatto (davimf721,Unisul ADM)
  • João Manuel pires escouto (João Manuel)
  • Marlos Samuel Herneck do Carmo (MarlosSamuel)
  • Bento Biral Foerster (4kbento)
  • Julio Cesar Loch Stupp (lochjulio)

Modelo de Dados:

Tabelas no MySQL:

  • ferramentas: armazena informações sobre as ferramentas (id, nome, marca, custo de aquisição).
  • amigos: armazena informações sobre os amigos (id, nome, telefone).
  • emprestimos: armazena informações sobre os empréstimos (id_emprestimo, id_ferramenta, id_amigo, data_emprestimo, data_devolucao, devolvido).

Requisitos Funcionais:

Cadastro de Ferramentas:

  • RF001 - O sistema deve permitir o cadastro de novas ferramentas com informações como nome, marca e custo de aquisição.
  • RF002 - Deve ser possível editar e excluir ferramentas já cadastradas.

Cadastro de Amigos:

  • RF003 - Deve ser possível cadastrar novos amigos com informações como nome e telefone.
  • RF004 - O sistema deve permitir editar e excluir amigos já cadastrados.

Registro de Empréstimos:

  • RF005 - Deve ser possível registrar empréstimos de uma ou mais ferramentas a um amigo específico.
  • RF006 - O sistema deve registrar a data em que o empréstimo ocorreu e a data de devolução prevista.
  • RF007 - Deve ser possível visualizar empréstimos ativos (não devolvidos) e histórico de todos os empréstimos realizados.
  • RF008 - Ao registrar um novo empréstimo, o sistema deve verificar se o amigo já possui alguma ferramenta emprestada e informar ao usuário.

Relatórios:

  • RFO09 - sistema deve gerar um relatório de ferramentas disponíveis, mostrando o nome, marca e custo de aquisição de cada ferramenta, juntamente com o valor total gasto.
  • RF010 - Deve ser possível visualizar um relatório de empréstimos ativos, mostrando quais ferramentas foram emprestadas, para quem e a data de devolução prevista.
  • RF011 - Deve ser possível visualizar um relatório de todos os empréstimos realizados, mostrando quais ferramentas foram emprestadas, para quem, a data de empréstimo e a data de devolução.
  • RF012 - O sistema deve ser capaz de identificar quem fez mais empréstimos e se há alguém que nunca devolveu ferramentas.

Requisitos Não Funcionais:

Localização:

  • RNF001 - O sistema deve ser executado localmente no computador do usuário, sem a necessidade de acesso à internet.

Usabilidade:

  • RNF002 - A interface do usuário deve ser intuitiva e de fácil utilização, especialmente para um público não técnico..

Desempenho:

  • RNF003 - O sistema deve ser responsivo e executar de forma rápida, mesmo com uma grande quantidade de dados cadastrados.

Segurança:

  • RNF004 - Deve haver proteção dos dados sensíveis dos amigos e das ferramentas, garantindo que apenas usuários autorizados possam acessá-los.

Manutenção:

  • RNF005 - O sistema deve ser facilmente mantido e atualizado, permitindo futuras correções de bugs e implementações de novas funcionalidades, se necessário.

Tecnologias:

  • RNF006 - O sistema deve rodar em java 21
  • RNF007 - O sistem deve rodar utilizando o MySQL 8.0.36

Tecnologias Utilizadas:

Java 21:

  • Para desenvolver a lógica do aplicativo.

MySQL 8.0.36:

  • Para armazenar os dados do aplicativo.

Google Calendar API:

  • Para integração com o Google Agenda.

Arquitetura:

Camada de Apresentação:

  • Interface de usuário para interagir com o sistema (pode ser uma interface gráfica ou linha de comando).

Camada de Lógica de Negócios:

-Implementação das regras de negócio (gerenciamento de empréstimos, relatórios, integração com o Google Agenda).

Camada de Acesso a Dados:

-Lógica para acessar e manipular os dados no banco de dados MySQL.

Informações do banco de dados

  • url=jdbc:mysql://localhost:3306
  • database=kelps
  • user=root
  • password=root

kelps-project's People

Contributors

davimf721 avatar marlossamuel avatar lochjulio avatar 4kbento avatar joaomanue1 avatar

Stargazers

 avatar  avatar

Watchers

 avatar

kelps-project's Issues

banco.sql

Não é um arquivo java.
Remova da pasta src/main/java/com/project/banco.sql e coloque na raiz do projeto.

Documentação

Adicione a documentação padrão java /** comment */ para todas as classes e métodos.

Altere a classe de conexao do mysql

package main.java.com.cadastroferramentas.dao;

import java.io.FileInputStream;
import java.io.IOException;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.Properties;

public class MySQLConnection {
public static Connection getConnection() {
Connection connection = null;
Properties props = new Properties();

    try (FileInputStream in = new FileInputStream("src/main/resources/jdbc.properties")) {
        props.load(in);

        String url = props.getProperty("url");
        String user = props.getProperty("user");
        String password = props.getProperty("password");

        connection = DriverManager.getConnection(url, user, password);
    } catch (IOException | SQLException e) {
        // handle exception here
        e.printStackTrace();
    }

    return connection;
}

}

padrão

Use um único idioma no código
src/main/java/model refatorar para modelo

Comentários Default

Remova os comentários default das classes

/*

  • Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
  • Click nbfs://nbhost/SystemFileSystem/Templates/GUIForms/JFrame.java to edit this template
    */

src/main/java/visao/JFrameCadastroAmigo.java

Olhe todas as classes

Licença

Adicionar arquivo de licença.

import *

Faça import específico.
Evite: import java.sql.*;

Use import para a classe específica

Remover target

Esta pasta não deve estar no repositório target/classes/com/project
Reveja o .gitignore.

Import *

Remova import *
Use classes especificas.
src/main/java/com/project/dao/AmigoDAO.java

Padrão Idioma documentação

Padronizar para um idioma a documentaç]ão das classes.

src/main/java/service/EmprestimoService.java

Aplique o padrão em todas as classes

jbdc.properties

O arquivo src/main/java/resources/jbdc.properties não é .java
Remova do diretório.

Padrão nomes

Utilize um mesmo idioma por todo o programa.
Renomei o pacote model para modelo.
Faça isto para os outros pacotes e classes.

Config BD

Adicione no README as configurações do banco de dados (usuário e senha).

Integrantes

Adicione no README o nome completo dos integrantes e as contas que utiliza no github.

Visibilidade

Defina a visibilidade do atributo dao para private.

src/main/java/model/Ferramenta.java

banco.sql

Adicione o arquivo banco.sql com o script para criar o database e as tabelas.
Lembre de documentar o código sql.

Remover javadoc

Remova a pasta javadoc

Quem baixar o projeto pode gerar a qualquer momento.

import *

Remova import *
Use classes especificas.

src/main/java/visao/JFrameCadastroAmigo.java

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.