OpenShelf is a smart, database-driven Library Management System built using C# (.NET Framework) and Microsoft SQL Server.
It provides an efficient solution for managing books, members, and library operations designed for security, accuracy, and ease of use.
✨ Unique ID System
- AdminID – Secure admin login and activity tracking
- MemberID – Automatic generation for each member
- BookID / LibraryID – Unique identifiers for books and library branches
👥 User & Role Management
- Role-based access for Admin, Librarian, and Member
- Admin controls system settings, manages users, and monitors operations
- Members can view available books, request issues, and track their transactions
📚 Book Management
- Add, update, delete, and search books
- Categorize by author, genre, or availability
- Real-time availability tracking
📊 Transaction Management
- Record issues, returns, renewals, and fines
- Auto-updates book availability
- Maintains a complete audit log
📅 Due Date Alerts & Fine Calculation
- Automated overdue detection
- Fine calculation and reminders
🔐 Secure Authentication System
- Encrypted login system with AdminID-based authentication
- Role-based permissions and secure password storage
🧾 Reports & Analytics
- Generate detailed reports for books, members, and transactions
- Export reports for analysis
⚙️ System Settings & Control
- Customize settings, credentials, and themes
- Admin can safely stop the system using “Exit Application” control
- 🏗️ Layered Architecture – Presentation, business logic, and data layers separated
- 🧩 Singleton Pattern – Centralized database connection instance
- 🔄 Observer Pattern – Real-time updates for UI components
- 🏭 Factory Pattern – Dynamic object creation for books and users
| Component | Technology |
|---|---|
| Frontend | C# Windows Forms (.NET Framework) |
| Backend | ADO.NET, Stored Procedures, SQL Queries |
| Database | Microsoft SQL Server 2019 |
| IDE | Visual Studio 2022 |
| UI Design | Modern Windows Forms, custom controls, styled components |
| Security | Role-based Access, Data Validation, Exception Handling |
- Admin Module – Full control of system, users, and settings
- Member Module – Borrow, track, and manage personal transactions
- Book Module – Inventory management with categories and availability
- Transaction Module – Issue, return, renewal, and fine processing
- Reports Module – Generate and export detailed analytics
- Settings Module – Configure system preferences and exit safely
Contributions are welcome and appreciated! 🎉
If you’d like to improve OpenShelf, please follow these steps:
- Fork the repository
- Create a new branch (
feature/your-feature-name) - Commit your changes with clear messages
- Push to your fork
- Open a Pull Request
Please ensure your code follows best practices and is well-documented.
If you find OpenShelf helpful or useful, please consider giving this repository a star ⭐.
Your support motivates us to continue improving the project and adding new features!
- LinkedIn Article: (article link here)
- @pathumzcode – Pathum Lakshan Bandara
- @Kavindu1255 - Kavindu Sathsara
- @Rasindu198 - Rasindu Gimhan
- @shalinisandesha3-netizen - Shalini Sandesha
This project is open-source and available under the MIT License.
