A WPF desktop application for managing a flower shop, featuring a modern UI and comprehensive shop management capabilities.
The application follows a three-tier architecture:
- Presentation Layer (Shop_Flower) - WPF UI components
- Business Layer (Shop_Flower.BLL) - Business logic and services
- Data Layer (Shop_Flower.DAL) - Data access and entity models
-
Data Access Layer
- ShopContext: EF Core DbContext for database operations
- Repositories: CategoryRepository, FlowerInfoRepository, OrderRepository, UserRepository
- Entities: Category, FlowerInfo, Order, User
-
Business Layer
- Services: FlowerInfoService, CategoryService, OrderServices, UserService
- Business logic implementation
- Data validation and processing
-
Presentation Layer
- Windows: AdminManagement, UserManagement, OrderManagement
- XAML-based UI components
- User input handling and validation
- Authentication and authorization
- Role-based access control (Admin/User)
- User profile management
- Flower catalog management
- Category organization
- Inventory tracking
- Price management
- Order creation and management
- Order status tracking
- Order history
- User management interface
- Product catalog administration
- Order management system
- Sales reporting
-
Users
- UserID (PK)
- Username
- Password
- Role
-
Categories
- CategoryID (PK)
- CategoryName
-
FlowerInfo
- FlowerID (PK)
- Name
- Price
- CategoryID (FK)
- AvailableQuantity
-
Orders
- OrderID (PK)
- UserID (FK)
- OrderDate
- TotalPrice
- Status
- .NET 8.0 SDK
- SQL Server 2019 or later
- Visual Studio 2022 or later
-
Update connection string in
Shop_Flower/appsettings.json:{ "ConnectionStrings": { "DefaultConnection": "Data Source=(local);Initial Catalog=Shop;User ID=sa;Password=1234567890;TrustServerCertificate=True" } } -
Open Package Manager Console and run:
Update-Database
- Clone the repository
- Restore NuGet packages
- Build the solution
- Run the application
-
Data Layer Changes
- Modify entities in Shop_Flower.DAL
- Update ShopContext
- Create/update migrations
-
Business Layer Changes
- Implement business logic in services
- Add validation rules
- Update service interfaces
-
UI Layer Changes
- Modify XAML views
- Update view models
- Add new windows/controls
- Unit tests for business logic
- Integration tests for data access
- UI automation tests recommended
-
Database Connection
- Verify SQL Server is running
- Check connection string
- Ensure proper permissions
-
Build Errors
- Restore NuGet packages
- Clean/Rebuild solution
- Check .NET SDK version
- Fork the repository
- Create a feature branch
- Submit a pull request with:
- Clear description
- Unit tests
- Documentation updates
MIT License - See LICENSE file for details