
• 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
• Java Runtime Environment (JRE) 8 or higher
• Basic understanding of Java programming
• Command line interface to run the application
• 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
javac management/*.java
java management.main
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
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
• Static counters for ID generation
• ArrayLists for in-memory data storage
• Scanner for console input
This project is licensed under the MIT License - see the LICENSE file for details. Albertina Rodrigues - [email protected]
Project Link: https://github.com/albiecr/book-registration-system • Add file storage (JSON/CSV) or database connection
• Implement serialization for object storage
• Proper ISBN validation algorithm
• Date format validation for birth dates
• CPF/CNPJ validation logic
• Update and Delete functionality
• Search/filter capabilities
• Genre/category system for books
• Multiple authors per book support
• Graphical user interface (JavaFX/Swing)
• Better error handling and user feedback
• Color-coded console output
• Unit testing (JUnit)
• Documentation (JavaDoc)
• Logging system
• Configuration management
• REST API interface
• Plugin system for additional features
• Internationalization support

- Fork the project
- Create your feature branch
git checkout -b feature/AmazingFeature
- Commit your changes
git commit -m 'Add some AmazingFeature'
- Push to the branch
git push origin feature/AmazingFeature
- Open a pull request