Skip to content

About

Desktop library management application developed with C++ and Qt, featuring CRUD operations, filtering, sorting, undo and a synchronized shopping cart.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

4 Commits

Folders and files

Repository files navigation

C++ Qt Library Manager

A desktop application for managing a library, developed with C++ and Qt.

Application preview

Library Manager interface

Features

  • Display all books in table and list views
  • Add, update and delete books
  • Search books by title
  • Filter books by title or publication year
  • Sort books by title, author, or publication year and genre
  • Undo the latest add, update or delete operation
  • Generate a report grouped by genre
  • Add books to a shopping cart
  • Generate random cart contents
  • Empty and export the shopping cart
  • Synchronize multiple cart windows using the Observer pattern
  • Store books in a text file

Technologies and concepts

  • C++
  • Qt Widgets
  • Object-oriented programming
  • Layered architecture
  • Repository pattern
  • Observer pattern
  • Command pattern for undo operations
  • File persistence
  • Polymorphism
  • Input validation
  • Automated tests with assertions

Project structure

  • domain – book entity
  • repo – in-memory repository
  • repoFile – file-based repository
  • RepoMap – map-based repository implementation
  • service – business logic
  • validator – input validation
  • undo – undo actions
  • cos – shopping cart functionality
  • observer – synchronization between windows
  • gui – Qt graphical interface
  • teste – automated tests

Running the application

  1. Install Qt and Visual Studio with the Qt Visual Studio Tools extension.
  2. Configure a compatible Qt kit in Visual Studio.
  3. Open Lab13-14.slnx.
  4. Build and run the solution.

Data

The application loads and saves books using carti.txt.

Status

Completed academic project developed during the Object-Oriented Programming laboratory.

About

Desktop library management application developed with C++ and Qt, featuring CRUD operations, filtering, sorting, undo and a synchronized shopping cart.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages