AutoFlow_Recording.mp4
BookApp_AutoFlow is a book management application built with .net MAUI. It provides functionalities to manage books, including adding, editing, and deleting books. The application is built with a focus on clean architecture, testability, and maintainability.
- Book Management: Add, edit, and delete books.
- Search: Perform search operations to filter books.
- SQLite Database: Uses SQLite for data persistence.
- Unit Testing: Contains unit tests for a viewmodel to showcase how I would mock and test my code. Please bear in mind, the suite of tests could definitely be improved to cover all viewmodels and services but for this showcase I considered enough to include just a few due to time constraints.
- C#
- SQLite
- Moq for mocking in unit tests
- Uranium UI for validation the validation form and material UI feel of the UI controls
- xUnit for unit testing
- MauiMicroMvvm for as the library of choice for MVVM - Could have also chosen Prism, but for the complexity of this project, I thought a more lightweight MVVM library would suffice
The project is structured into different folders, each serving a specific purpose:
- Models: Contains models for this project.
- ViewModels: Contains viewmodels for this project.
- Services: Contains the services.
- Interfaces: Contains the interfaces.
- UnitTests: Contains poc of test classes.
To run this project, you need to have .NET installed on your machine. Clone the repository and open the solution file in JetBrains Rider or any other .NET compatible IDE.
The project includes comprehensive unit tests for the ViewModel and Database services. The tests are located in the UnitTests
folder. To run the tests, use the test runner in your IDE.