Built with care, so every book finds a reader — and every reader finds a story.
- This project is provided for educational and portfolio purposes.
- Attribution is required for reuse.
A Windows Desktop Application built with C# .NET Framework WinForms for managing library operations including cataloging, circulation, member management, and reporting.
Take a look at our Wiki here on github to understand more about GaBasa: The Library Management System.
This project follows a 3-layer architecture:
- 🖥️ LMS.Presentation → WinForms UI
- ⚙️ LMS.BusinessLogic → Business Logic Layer (Managers)
- 💾 LMS.DataAccess → Data Access Layer (Repositories, DB connection)
- 👥 User Management (Librarian / Admin, Library Staff, Member)
- 📖 Book Cataloging & Inventory
- 🔄 Borrowing, Returns, Renewals
- 💰 Fines and Penalty Management
- 🔍 Advanced Search & Discovery
- 📊 Reports & Analytics Dashboard
- 🪟 Windows 10 or later
- 🛠️ Visual Studio 2022 (Community)
- ⚡ .NET Framework 4.8
- 🗄️ SQL Server for database
Thanks to everyone who contributed to GaBasa!
| Name | Role | GitHub |
|---|---|---|
| Kenny Crisostomo | Lead Developer | @SixxCodes |
| Merry Guisihan | Database Manager | @Mauitypings |
| Vien Ugay | UI Design | @viensed |
| Jerard Lavilla | UI Design | @lavillajerard |
D: (if you want to put it on drive D, ignore if on drive C)
cd (where you want to place project folder, ex: D:Programs/LMS_Gabasa)
git clone https://github.com/SixxCodes/GaBasa.git- Open LMS_GaBasa.sln in Visual Studio 2022 or on File Explorer.
- Ensure all three projects (Presentation, BusinessLogic, DataAccess) are loaded.
- Right-click LMS.Presentation → Set as Startup Project.
This project requires a SQL Server connection.
- Navigate to the LMS.Presentation project.
- Locate the file:
App.config.example- Make a copy and rename it to:
App.config- Open App.config and update the connection string:
<connectionStrings>
<add
name="LibraryDB"
connectionString="Server=YOUR_SERVER_NAME;Database=YOUR_DATABASE_NAME;Trusted_Connection=True;"
providerName="System.Data.SqlClient" />
</connectionStrings>📌 Notes
- Replace YOUR_SERVER_NAME with your SQL Server instance (e.g. localhost\SQLEXPRESS)
- Replace YOUR_DATABASE_NAME with your database name
- App.config is intentionally not tracked in the repository for security reasons (included in .gitignore)
This project uses the following NuGet packages:
- 🖌️ ReaLTaiizor (for modern UI components)
- ReaLTaiizor GitHub – check this for tutorials, usage examples, and themes. (Make sure you're installing the correct package! Look at the package title, description, and authors to make sure.)
- 🔒 BCrypt.Net-Next
- Used for secure password hashing and verification to protect user credentials.
- 🧾 ZXing.net
- Library for generating and scanning barcodes, used for book accession numbers and circulation processes.
- 🎥 AForge
- Computer vision and image processing framework, used for camera-based barcode scanning support.
- 🧾 CsvHelper
- Handles CSV file reading and writing, used for bulk import of books and catalog data.
Note:
- Visual Studio should restore them automatically when you build the solution.
- You can also install them manually via NuGet Package Manager.
- Additional packages will automatically be installed as dependencies required by BCrypt.Net-Next.
To get a clearer view of all dependencies and their relationships:
- In Visual Studio, go to Architecture → Generate Dependency Graph → For Solution.
- Explore the diagram to see how projects and packages relate.
Or go to Insights of this repository and click the Dependency Graph tab to view all packages installed in this project.
- Press F5 to build and run the application.
Developed with best practices, collaboration, and a passion for building meaningful systems.
This project is licensed under the MIT License. © 2026 Ken Crisostomo