Resumo do projeto
Esta aplicação foi desenvolvida em Java com persistência em SQL para apoiar um microempreendedor individual (MEI) na gestão de clientes, produtos/serviços e faturas. É um projeto académico, mas com estrutura inspirada em aplicações reais.
Java
MySQL/PostgreSQL
MVC
Modelo de dados (simplificado)
CLIENTE(id, nome, nif, email, telefone)
SERVICO(id, descricao, preco_base)
FATURA(id, id_cliente, data_emissao, total)
ITENS_FATURA(id_fatura, id_servico, quantidade, preco_unitario)
A aplicação permite criar clientes, definir serviços, emitir faturas e calcular totais automaticamente.
Exemplo de entidade Java
public class Cliente {
private Long id;
private String nome;
private String nif;
private String email;
private String telefone;
// getters e setters, construtores...
@Override
public String toString() {
return nome + " (" + nif + ")";
}
}
Exemplo de DAO (ClienteDAO)
public class ClienteDAO {
private final Connection conn;
public ClienteDAO(Connection conn) {
this.conn = conn;
}
public void inserir(Cliente c) throws SQLException {
String sql = "INSERT INTO CLIENTE (nome, nif, email, telefone) VALUES (?,?,?,?)";
try (PreparedStatement ps = conn.prepareStatement(sql)) {
ps.setString(1, c.getNome());
ps.setString(2, c.getNif());
ps.setString(3, c.getEmail());
ps.setString(4, c.getTelefone());
ps.executeUpdate();
}
}
public List<Cliente> listar() throws SQLException {
List<Cliente> lista = new ArrayList<>();
String sql = "SELECT * FROM CLIENTE ORDER BY nome";
try (PreparedStatement ps = conn.prepareStatement(sql);
ResultSet rs = ps.executeQuery()) {
while (rs.next()) {
Cliente c = new Cliente();
c.setId(rs.getLong("id"));
c.setNome(rs.getString("nome"));
c.setNif(rs.getString("nif"));
c.setEmail(rs.getString("email"));
c.setTelefone(rs.getString("telefone"));
lista.add(c);
}
}
return lista;
}
}