Overview #
ElectoLibrary is a complete client-server digital library. The frontend works with a REST API, data is stored in SQLite, the project runs in containers and covers the full user flow from book search to reservation.

What is implemented #
- catalog search by title, author and publisher;
- filtering by availability and sorting by date or alphabet;
- create, view, edit and delete books;
- JPG cover upload with size validation;
- favorites, reservation and reservation cancellation;
- thematic collections and user sections;
- responsive navigation, notifications and a 404 page;
- SQLite persistence;
- API tests and reproducible Docker Compose launch.
Architecture #
Browser
└─ Vue 3 + Vue Router
├─ views / components
├─ composable useBooks
└─ API service
└─ FastAPI
├─ CRUD and business operations
├─ cover uploads
└─ SQLiteThe frontend is split into views, reusable components and an API access layer. Catalog logic is extracted into a composable, while the backend owns business operations and persistent state.
Run #
git clone https://github.com/pistaha/electolibrary-exam.git
cd electolibrary-exam
docker compose up --buildResult #
The project combines interface, API, database, file uploads, testing and containerization in one reproducible full-stack solution.