This library is the core engine of the SlideGenerator project. Contributions here have a significant impact on the performance and reliability of the entire application.
- .NET 10.0 SDK (or newer)
- Visual Studio or VS Code with C# extension.
-
Clone the repository:
git clone https://github.com/thnhmai06/SlideGenerator.Framework cd SlideGenerator.Framework -
Restore dependencies:
dotnet restore
-
Run Tests: Ensure all unit tests pass before making changes.
dotnet test
src/SlideGenerator.Framework: The main library code.Cloud/: URL resolution logic.Sheet/: Excel/CSV parsing logic.Slide/: OpenXML SDK wrappers for PPTX manipulation.Image/: EmguCV integration for image processing.
src/SlideGenerator.Framework.Tests: Unit and integration tests.
- Performance First: This is a low-level library. Avoid unnecessary allocations (use
Span<T>,Memory<T>). - Async/Await: Use async APIs for all I/O bound operations (File, Network).
- Clean Architecture: Keep dependencies minimal. Avoid tight coupling between modules (e.g.,
Sheetshould not know aboutImage).
- Create a new branch:
git checkout -b feature/my-awesome-feature - Implement your changes.
- Add unit tests to cover your new code.
- Run
dotnet formatto ensure code style consistency. - Push and submit a Pull Request.
If you find a bug in the framework, please open an issue in the main repository and tag it with component:framework.