3.5 KiB
3.5 KiB
Powder Coating Management System - Project Structure
Solution Architecture
This solution follows Clean Architecture principles with separation of concerns.
Projects Overview
PowderCoatingApp/
├── src/
│ ├── PowderCoating.Web/ # ASP.NET Core MVC Web Application
│ ├── PowderCoating.Api/ # RESTful API for Mobile & Web
│ ├── PowderCoating.Core/ # Domain Entities & Interfaces
│ ├── PowderCoating.Application/ # Business Logic & Services
│ ├── PowderCoating.Infrastructure/ # Data Access & External Services
│ └── PowderCoating.Shared/ # Shared DTOs & Constants
├── tests/
│ ├── PowderCoating.UnitTests/
│ └── PowderCoating.IntegrationTests/
└── docs/
├── API_DOCUMENTATION.md
└── USER_GUIDE.md
Technology Stack
- Framework: .NET 10.0
- Database: SQL Server
- ORM: Entity Framework Core 10.0
- Authentication: ASP.NET Core Identity + JWT (for mobile)
- Real-time: SignalR
- AI/ML: ML.NET + Azure OpenAI/Semantic Kernel
- Mobile Support: RESTful API with JWT authentication
- Caching: Redis (optional) or In-Memory Cache
Project Responsibilities
1. PowderCoating.Core (Domain Layer)
- Entity models
- Domain interfaces
- Enumerations
- Domain exceptions
- Value objects
2. PowderCoating.Application (Application Layer)
- Service interfaces and implementations
- DTOs (Data Transfer Objects)
- Mapping profiles (AutoMapper)
- Validators (FluentValidation)
- Business logic
- AI/ML integration services
3. PowderCoating.Infrastructure (Infrastructure Layer)
- DbContext and configurations
- Repository implementations
- External service integrations
- File storage
- Email services
- Caching implementations
4. PowderCoating.Web (Presentation - Web)
- MVC Controllers and Views
- ViewModels
- SignalR Hubs
- Static files
- Web-specific middleware
5. PowderCoating.Api (Presentation - API)
- API Controllers
- JWT authentication
- Swagger/OpenAPI documentation
- API-specific middleware
- Mobile endpoints
6. PowderCoating.Shared
- Common DTOs
- Constants
- Enums
- Helper classes
- Extension methods
Key Features by Module
Customer Management
- CRUD operations
- Contact history
- Credit limits
- Custom pricing tiers
Employee Management
- User profiles
- Roles & permissions
- Time tracking integration
- Performance metrics
Job Management
- Job creation & tracking
- Status workflow
- Photo attachments
- Customer approval system
Inventory Management
- Powder inventory
- Material tracking
- Reorder alerts
- Supplier management
Maintenance Module
- Equipment tracking
- Maintenance schedules
- Service history
- Downtime tracking
Quoting System
- AI-powered pricing suggestions
- Commercial vs. Non-commercial templates
- Material cost calculations
- Labor estimation
- Quote history & conversion tracking
Shop Floor Display
- Real-time job board
- Priority queuing
- Employee assignment
- Status updates via SignalR
Database Schema (High-Level)
Core Tables
- Users (Identity)
- Customers
- Employees
- Jobs
- JobItems
- Quotes
- QuoteItems
- Inventory
- InventoryTransactions
- Equipment
- MaintenanceRecords
- UserPreferences
- AuditLogs
Next Steps
- Create solution and project files
- Set up dependency injection
- Configure Entity Framework Core
- Implement Identity system
- Create base entities and repositories
- Set up database migrations