Skip to content

pratik-vaishnav/library-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EduShelf - Assistive Offline-First Library Management System

EduShelf is an offline-first, AI-assisted library management system for school libraries and inclusive education programs. It combines a JavaFX desktop app with a Spring Boot server, using SQLite for local storage and PostgreSQL for centralized sync, so libraries keep running during limited connectivity.

Why it exists

  • Many schools still rely on manual registers or outdated software.
  • Librarians must be physically present, even when mobility is limited.
  • Internet connectivity can be scheduled or unreliable.
  • Schools need simple reporting and visibility without extra hardware.

What it does today

  • Offline-first desktop app (JavaFX + SQLite) with automatic sync.
  • Role-based login (Admin, Operator, Viewer).
  • Book, member, and loan management with real data.
  • Issue/return workflow with due dates and fine calculation.
  • Sync queue with conflict and failure visibility.
  • Reports:
    • Books PDF with school branding.
    • Loans Excel export aligned to the provided template.
  • Analytics charts (monthly issues, daily status, top books).
  • AI daily summary using a local Ollama model.

Architecture

  • Desktop (JavaFX)
    • Offline storage: SQLite
    • Sync manager + conflict handling
    • Local reports and AI summary
  • Server (Spring Boot)
    • PostgreSQL for master data
    • Auth, settings, and sync endpoints

Screenshots

Screen Preview
Screen 1 Dashboard overview with library KPIs and quick actions
Screen 2 Book catalog list with search, filters, and availability
Screen 3 Member management table with roles and contact details
Screen 4 Issue book workflow with due date and fine preview
Screen 5 Return book screen showing outstanding loans
Screen 6 Sync queue status with conflict and failure visibility
Screen 7 Analytics charts for monthly issues and top books
Screen 8 Reports export view for PDF and Excel outputs
Screen 9 Settings panel for server URL and sync options
Screen 10 Login screen with role-based access
Screen 11 AI daily summary panel generated by local model

Getting started

Prerequisites:

  • JDK 17
  • Maven
  • PostgreSQL

Server:

mvn -pl server spring-boot:run

Desktop:

mvn -pl desktop javafx:run

Environment overrides:

DB_URL=jdbc:postgresql://localhost:5432/assistive_library
DB_USERNAME=assistive
DB_PASSWORD=assistive
ASSISTIVE_SERVER_URL=http://localhost:8080

Default admin user (created on first run):

  • Username: admin
  • Password: admin123

Demo data

Use the "Seed Demo Data" action on the Dashboard to populate sample books and members.

Docs

  • SRS: docs/Assistive-Offline-First-Library-SRS.docx
  • Product pitch: docs/PRODUCT_PITCH.md
  • SRS (Markdown): docs/SRS.md
  • Release notes: docs/RELEASE_NOTES.md
  • Demo walkthrough: docs/DEMO_WALKTHROUGH.md

Roadmap (high level)

  • AI librarian assistant with guided workflows.
  • Voice commands and accessibility enhancements.
  • Multi-school support and reporting dashboards.
  • Branded report templates with pagination.

License

All rights reserved. Contact the project owner for usage and deployment.

Releases

No releases published

Packages

 
 
 

Contributors