Skip to content

albiecr/book-registration-system

Repository files navigation

Typing SVG

📜 Description

Simple project developed with the aim of studying the use of classes in Java.

✨ Features

• Book Management System with CRUD operations (Create, Read)
• Author Management with personal details storage
• Publisher Management with company information
• Input Validation for ISBN (13 digits) and publication year (≤ 2013)
• Console-based Menu System for easy navigation
• Data Relationships between books, authors and publishers
• Persistent ID Generation with auto-increment counters

📋 Requirements

• Java Runtime Environment (JRE) 8 or higher
• Basic understanding of Java programming
• Command line interface to run the application

⚙️ Installation

• No special installation required beyond Java

• Clone the repository (if applicable):

git clone https://github.com/albiecr/book-registration-system.git
cd book-registration-system

🚀 Usage

• Compile all Java files:

javac management/*.java
• Run the main class:

java management.main
• Run the program using the command above
    Use the menu to:
       Option 1: Register new books with author and publisher details
       Option 2: View all registered books
       Option 3: View all registered authors
       Option 4: View all registered publishers
       Option 5: Exit the program

🏗️ Code Structure


Home/
├── main.java                     // Entry point with menu system
├── author.java                   // Author entity with personal details
├── publisher.java                // Publisher entity with company info
└── book.java                     // Book entity with validation logic 

Key Components:

• Object composition (Book contains Author and Publisher)
• Static counters for ID generation
• ArrayLists for in-memory data storage
• Scanner for console input

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

✉️ Contact

Albertina Rodrigues - [email protected]
Project Link: https://github.com/albiecr/book-registration-system

🔮 Future Improvements

1.Data Persistence:

• Add file storage (JSON/CSV) or database connection
• Implement serialization for object storage

2.Enhanced Validation:

• Proper ISBN validation algorithm
• Date format validation for birth dates
• CPF/CNPJ validation logic

3. Additional Features:

• Update and Delete functionality
• Search/filter capabilities
• Genre/category system for books
• Multiple authors per book support

4. Improved UI:

• Graphical user interface (JavaFX/Swing)
• Better error handling and user feedback
• Color-coded console output

5. Code Quality:

• Unit testing (JUnit)
• Documentation (JavaDoc)
• Logging system
• Configuration management

6. Extensibility:

• REST API interface
• Plugin system for additional features
• Internationalization support

🤝 Contributing

Contributions are welcome! Please open an issue or submit a pull request.

  1. Fork the project

  2. Create your feature branch
    git checkout -b feature/AmazingFeature
  3. Commit your changes
    git commit -m 'Add some AmazingFeature'
  4. Push to the branch
    git push origin feature/AmazingFeature
  5. Open a pull request

About

Book Registration System - Java CLI Application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages