JKonta: Sistema de Ingresos y Gastos Java MySQL

JKonta es un Sistema o Aplicacion de Escritorio donde puedes llevar el control de tus Ingresos y Gastos e imprimir reportes desarrollado con Netbeans, Java y MySQL.

El programa JKonta lo puedes importar al NetBeans y modificarlo de acuerdo a tus necesidades.

Sistema o Aplicacion JKonta Control de Ingresos y Gastos con Java MySQL
Sistema o Aplicacion JKonta Control de Ingresos y Gastos con Java MySQL

Requisitos

  • NetBeans IDE
  • Java 21, Swing (interfaz construida con el Form Editor de NetBeans)
  • MySQL vía JDBC plano (mysql-connector-j)
  • Apache PDFBox para la generación de reportes
  • Maven

Componentes

Los componentes con los que cuenta el sistema JKonta son los siguientes:

  • Boton Nuevo Ingreso: Abre una ventana para dar de alta ingresos
  • Boton Nuevo Gasto:Abre una Ventana para agregar gastos
  • Opcion Descargar Reporte: Genera y descarga un reporte con todos los ingresos y gastos en formato PDF
  • Etiqueta Total de ingresos: Muestra el total de ingresos registrados
  • La etiqueta Total de gastos: Muestra el total de Gastos o Egresos Realizados
  • Balance: Esta etiqueta muestra la diferencia Ingresos-Gastos para generar el balance de la cuenta
  • Tabla de operaciones: Muestra fecha, concepto tipo de operacion y monto.

Archivos del Proyecto

Aqui te explico lo que hace cada archivo del proyecto.

ArchivoQué hace
MainJFrame.javaVentana principal: botones de alta, tabla de operaciones con estilos, cálculo de totales, borrado por clic derecho/Supr, dispara el diálogo de alta y el reporte PDF.
NewOperationDialog.javaDiálogo modal para registrar un ingreso o gasto: combo de concepto (crea uno nuevo si no existe) y campo de monto, con validación.
ReportGenerator.javaGenera el PDF del reporte con PDFBox: totales, tabla de operaciones, paginación automática.
DBConnection.javaCarga db.properties y entrega conexiones JDBC.
ProductDAO.javaCRUD sobre la tabla product (conceptos): crear, buscar por id, listar, actualizar, eliminar.
OperationDAO.javaCRUD sobre la tabla operation (movimientos), más findByProduct.
Product.javaPOJO que mapea la tabla product.
Operation.javaPOJO que mapea la tabla operation.
OperationKind.javaEnum IN/OUT en lugar de los códigos crudos 1/2 de la columna kind.

Base de datos

El esquema de la base de datos (archivo schema.sql) contiene las 2 tablas necesarias para el registro de ingresos y gastos y conceptos.

create database jkonta;
use jkonta;

create table product(
	id int not null auto_increment primary key,
	code varchar(255),
	name varchar(255),
	description text,
	price float,
	created_at datetime
);

create table operation(
	id int not null auto_increment primary key,
	q float,
	product_id int,/*1. in, 2. out*/
	kind int,/*1. in, 2. out*/
	created_at datetime,
	foreign key (product_id) references product(id) on delete cascade
);

Descargar

A continuacion los enlaces de descarga y del proyecto JKonta en GitHub.

Para ejecutar el proyecto debes realizar lo siguiente:

  1. Descargar el proyecto
  2. Importarlo desde el NetBeans
  3. Instalar la base de datos en MySQL
  4. Modificar el archivo src/main/resources/db.properties con tu host/usuario/contraseña de MySQL.
  5. Ejecutar el proyecto en NetBeans

Más Recursos

Leave a Reply

Your email address will not be published. Required fields are marked *

Discover more from Evilnapsis

Subscribe now to keep reading and get access to the full archive.

Continue reading