Skip to content

Latest commit

 

History

4 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

PracticeSystemJAVA

Desktop Customer Management System developed with Java.

PracticeSystemJAVA is a desktop application created to practice and demonstrate the development of enterprise applications using Java. The project follows good software engineering practices, combining graphical interfaces, database integration, authentication, data persistence, reporting, backup management, and version control.

The objective is not only to build a functional application, but also to apply concepts commonly found in real-world business systems.


Project Objectives

  • Develop a complete Java desktop application.
  • Apply Object-Oriented Programming (OOP) concepts.
  • Organize the application using the MVC (Model-View-Controller) architecture.
  • Integrate a relational database using JDBC.
  • Implement secure user authentication.
  • Generate reports with JasperReports.
  • Implement backup and restore functionality.
  • Practice version control with Git and GitHub.

Current Status

🚧 Project in Development

Completed

  • Login interface
  • Username validation
  • Password field
  • Initial project structure
  • Git integration

Planned

  • User authentication
  • Password encryption
  • SQLite database connection
  • Customer registration
  • Customer management (CRUD)
  • Search filters
  • Reports
  • Backup & Restore
  • Application improvements

Technologies

  • Java 21+
  • Java Swing
  • JDBC
  • SQLite
  • JasperReports
  • Jaspersoft Studio
  • Eclipse IDE
  • Git
  • GitHub

Features

Authentication

  • Login screen
  • User validation
  • Password protection

Customer Management

  • Register customers
  • Edit customer information
  • Delete customers
  • List customers
  • Search customers

Database

  • SQLite database
  • JDBC connection
  • Data persistence

Reports

  • Customer reports
  • JasperReports integration

Backup

  • Database backup
  • Restore backup

Software Architecture

The project follows the MVC (Model-View-Controller) architecture to separate responsibilities and improve code organization.

View
 │
 ▼
Controller
 │
 ▼
Model
 │
 ▼
DAO
 │
 ▼
SQLite Database

Project Structure

PracticeSystemJAVA
│
├── src/
│   ├── controller/
│   ├── dao/
│   ├── model/
│   ├── util/
│   └── view/
│
├── database/
├── reports/
├── docs/
├── lib/
└── README.md

Screenshots

Login Screen

(Screenshot will be added during development.)


Learning Goals

This project was created to strengthen knowledge in:

  • Java Programming
  • Object-Oriented Programming
  • Java Swing
  • MVC Architecture
  • JDBC
  • SQLite
  • Exception Handling
  • Software Design
  • Authentication
  • Encryption
  • Reporting
  • Git Workflow

Development Roadmap

  • Project setup
  • Login interface
  • Authentication
  • SQLite integration
  • DAO implementation
  • Customer CRUD
  • Search filters
  • Reports
  • Backup system
  • Documentation improvements
  • Final release

Author

Elza Vitória Aquino

Software Engineering Student

GitHub: https://github.com/ElzaDevs


License

This project was developed for educational purposes and portfolio demonstration.

About

A Java desktop system designed to manage customer data, featuring authentication, database integration and organized software architecture.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages