MyWarehouse
MyWarehouse is a reference implementation and sample project designed to demonstrate modern software development practices using C, .NET 6, ASP.NET Core 6, Entity Framework Core 6, Angular 11, and Bootstrap. The system consists of a web API backend service and a responsive Angular frontend, built to showcase Clean Architecture, Vertical Slicing, and Domain-Driven Design principles in a professional context. The project serves a dual purpose: providing a practical resource for developers seeking to explore these architectural patterns and offering a concrete summary of the author approach to building enterprise-grade ASP.NET Core applications. It replaces legacy code examples with a modern solution that reflects contemporary best practices in full-stack development. Key architectural features include a strict adherence to Clean Architecture, ensuring separation of concerns by isolating domains, application logic, infrastructure, and presentation layers. The implementation utilizes Vertical Slicing to organize code by feature rather than generic layer types, which reduces coupling and improves maintainability. Domain-Driven Design concepts are applied to model complex business logic effectively, ensuring the software structure aligns closely with the business domain. Technically, the backend is hosted on Azure App Service and connects to an Azure SQL database. The infrastructure supports automated continuous integration and continuous deployment pipelines via GitHub Actions, ensuring that the live deployment accurately reflects the master branch state. Code coverage metrics are tracked to maintain quality standards. The frontend is hosted on GitHub Pages, providing a stable interface for end-users. The application includes a live demo environment where users can authenticate using standard credentials or Google accounts. It is important to note that the app collects minimal personal data; only the user name is stored as metadata when an entity is modified, with no email addresses or profile IDs retained. To facilitate testing and exploration, the system includes an automatic sample data generation module. This feature allows the database to be reset to a known state at any time, enabling developers to test various scenarios without data persistence concerns. The generated data is intended for functional verification rather than production use. MyWarehouse includes comprehensive documentation covering the technology stack, backend design paradigms, project structure, and specific deviations from standard Clean Architecture templates. It is suitable for architects, developers, and students who wish to study scalable, maintainable, and testable web application structures. By combining robust backend services with a reactive frontend, the project illustrates how to build a cohesive full-stack solution that prioritizes code quality, architectural integrity, and deployment automation. The solution demonstrates how to apply advanced design patterns to solve real-world business problems while maintaining high standards of code organization and testing. The automated deployment pipelines ensure that the deployed application always mirrors the latest stable code, providing a reliable environment for review and experimentation. The inclusion of sample data generation ensures that the system is always ready for immediate investigation into its functional capabilities without the need for manual data entry or complex setup procedures.