Skip to content

Repository files navigation

The Big Library Project is a personal Python project created to gain hands‑on experience with object‑oriented programming and modular application design, using a library domain as a practical context.

It was started to gain hands‑on experience with object‑oriented programming, modular design, and building software from small, well‑defined components. The project focuses on writing clear, readable code and understanding how different parts of an application work together over time.

Current status

The project is currently in an early but well‑structured development stage, with a strong focus on data design and persistence foundations.

  • Database schema designed with required and optional fields
  • JSON‑based persistence module implemented
  • Data validation rebuilt to match updated schemas
  • Core library logic scaffolded but not yet implemented
  • Development currently driven mainly by unit tests

Technologies and tools

  • Python - Core language used to implement the application logic and data handling.
  • unittest - Used for writing unit tests, especially for validating persistence and data integrity.
  • Git & GitHub
  • JSON - File‑based storage format used for persistence during early development.
  • Obsidian - Used for technical documentation, design notes, and tracking architectural decisions.
  • Git & GitHub - Version control and project tracking.
  • GitHub Copilot (AI assistant) - Used as a reasoning and review partner to support learning, validate design decisions, and improve code clarity during development.

Key design principles

  • Functions and classes with a single, clear responsibility
  • Modular structure
  • Explicit and readable code
  • Incremental development supported by unit tests
  • OOP used where it improves clarity

Planned roadmap

  • Finalize and test persistence and validation logic
  • Implement core library functionality (borrowing, availability, users)
  • Add user login and basic data protection
  • Build a GUI
  • Implement a simple AI Agent with book recommendation and library statistics component

About

The BIG Library Project is a Python project built to practice object‑oriented programming, modular design, and incremental development, using a library system as a real‑world problem space.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages