A modern, scalable bookstore management system built with ASP.NET Core MVC, featuring a clean architecture with repository pattern, Entity Framework Core, and a responsive Bootstrap UI.
- π Category Management: Full CRUD operations for book categories
- ποΈ Clean Architecture: Separation of concerns with layered architecture
- ποΈ Repository Pattern: Abstraction layer for data access
- π¨ Modern UI: Responsive design with Bootstrap 5 and custom styling
- β Form Validation: Client and server-side validation
- π Toast Notifications: User-friendly success/error messages
- π± Mobile Responsive: Optimized for all device sizes
Bulky/
βββ π BulkyWeb/ # Main MVC Web Application
β βββ π Controllers/ # MVC Controllers
β βββ π Views/ # Razor Views
β βββ π wwwroot/ # Static Files (CSS, JS, Images)
β βββ Program.cs # Application Entry Point
βββ π Bulky.DataAccess/ # Data Access Layer
β βββ π Data/ # DbContext and Migrations
β βββ π Repository/ # Repository Pattern Implementation
β βββ π Migrations/ # Entity Framework Migrations
βββ π Bulky.Models/ # Domain Models
βββ π Bulky.Utility/ # Utility Classes and Constants
- Backend: ASP.NET Core 8.0 MVC
- Database: SQL Server with Entity Framework Core 8.0
- Frontend: Bootstrap 5, jQuery, Toastr.js
- Architecture: Repository Pattern, Dependency Injection
- Validation: Data Annotations, Client-side validation
Before running this application, make sure you have the following installed:
- .NET 8.0 SDK
- SQL Server (LocalDB or Express)
- Visual Studio 2022 or VS Code
git clone https://github.com/yourusername/Bulky.git
cd Bulky- Update Connection String in
BulkyWeb/appsettings.json:
{
"ConnectionStrings": {
"DefaultConnection": "Server=localhost;Database=Bulky;Trusted_Connection=true;TrustServerCertificate=true"
}
}- Run Entity Framework Migrations:
cd BulkyWeb
dotnet ef database updatecd BulkyWeb
dotnet runThe application will be available at:
- HTTP: http://localhost:5022
- HTTPS: https://localhost:7031
- View Categories: Navigate to
/Categoryto see all categories - Create Category: Click "Create New Category" and fill in the form
- Edit Category: Click the "Edit" button next to any category
- Delete Category: Click the "Delete" button and confirm
- Responsive Design: Works seamlessly on desktop, tablet, and mobile
- Real-time Validation: Instant feedback on form inputs
- Toast Notifications: Success and error messages with smooth animations
- Bootstrap Icons: Modern iconography throughout the interface
Category.cs- Category entity with validation attributesErrorViewModel.cs- Error handling model
ApplicationDbContext.cs- Entity Framework DbContext- Repository pattern implementation with generic and specific repositories
- Entity Framework migrations for database schema management
- MVC controllers with dependency injection
- Razor views with Bootstrap styling
- Static files (CSS, JavaScript, images)
The application uses Entity Framework Core with SQL Server. The connection string is configured in appsettings.json.
Services are registered in Program.cs:
ApplicationDbContext- Database contextICategoryRepository- Category repository interfaceCategoryRepository- Category repository implementation
- Modern Design: Clean, professional interface with custom color scheme
- Responsive Layout: Bootstrap 5 grid system for mobile-first design
- Interactive Elements: Hover effects, smooth transitions, and animations
- Accessibility: Semantic HTML and ARIA attributes
- Toast Notifications: Non-intrusive success/error feedback
To run tests (if implemented):
dotnet testdotnet run --environment Developmentdotnet publish -c Release- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you have any questions or need help, please:
- π§ Open an Issue
- π¬ Start a Discussion
- π Check the Documentation