Book Heaven is a comprehensive bookstore management system developed as an academic project. This Windows Forms application provides a complete solution for managing bookstore operations, including inventory management, sales, customer management, and supplier relationships.
-
User Authentication
- Secure login system with role-based access (Admin and Cashier)
- Password encryption using BCrypt
-
Inventory Management
- Book catalog management with ISBN tracking
- Stock quantity monitoring
- Genre categorization (Fictions, Non-Fictions, Collectibles, Education Materials)
- Price management
-
Order Processing
- Support for both pickup and delivery orders
- Order status tracking (Pending, Processing, Sent, Fulfilled, Canceled)
- Delivery cost calculation
- Order history
-
Customer Management
- Customer profile creation and management
- Contact information tracking
- Order history per customer
-
Supplier Management
- Supplier information management
- Contact details tracking
- Supply chain integration
- Framework: .NET 8.0 Windows Forms
- Database: MySQL (MariaDB)
- ORM: Entity Framework Core 6.0.1
- Security: BCrypt.Net-Next for password hashing
- Database Provider: Pomelo.EntityFrameworkCore.MySql
BookHeaven/
├── Actions/ # Business logic and operations
├── Assets/ # Static resources
├── Components/ # Reusable UI components
├── Enums/ # Enumeration definitions
├── Helpers/ # Utility and helper classes
├── Models/ # Data models
├── Screens/ # UI forms and screens
│ ├── Dashboard/ # Main dashboard components
│ └── Forms/ # Modal forms
└── Util/ # Utility functions
The system uses a relational database with the following main tables:
book: Stores book informationcustomer: Manages customer dataorder: Tracks ordersorder_item: Manages order detailssupplier: Stores supplier informationuser: Handles user authenticationinventory_record: Tracks inventory changes
-
Prerequisites
- .NET 8.0 SDK
- MySQL Server (MariaDB 10.4.32 or compatible)
- Visual Studio 2022 or compatible IDE
-
Database Setup
- Create a new MySQL database named
book_heaven - Import the
DataBase.sqlfile to set up the schema and initial data
- Create a new MySQL database named
-
Application Setup
- Clone the repository
- Open the solution in Visual Studio
- Update the database connection string in the application configuration
- Build and run the application
-
Admin Account
- Email: [email protected]
- Password: (Please contact administrator for initial password)
-
Cashier Account
- Email: [email protected]
- Password: (Please contact administrator for initial password)
- Password hashing using BCrypt
- Role-based access control
- Secure database connections
- Input validation and sanitization
This is an academic project. For any questions or suggestions, please contact the project maintainers.
This project is created for academic purposes. All rights reserved.
- Developed as an academic project
- Uses various open-source libraries and frameworks
- Special thanks to all contributors and mentors