A back-end and front-end solution that offers comprehensive task and user management, integrated with MS SQL or any in-memory database through Entity Framework.
The back-end segment caters to the management of Task instances (e.g., IT support tasks) alongside a set of User instances. It readily offers CRUD operations for these entities, harnessing the OData standard and Entity Framework. Moreover, an asynchronous endpoint is integrated to compute a Task summary by reaching out to an external service that returns a relevant text summary.
- Clone the repository.
git clone https://github.com/alinpopa91/TaskManagement
- Navigate to the back-end directory.
cd path-to-back-end
- Install the necessary packages using the NuGet package manager.
dotnet restore
- Modify the database connection string located in the
appsettings.json
file to match your setup. - Execute Entity Framework migrations to instantiate the database.
dotnet ef database update
- Boot up the back-end service.
dotnet run
For an in-depth exploration of the design rationale and how server errors are approached, kindly refer to the corresponding code comments embedded throughout the project. Prospective features or augmentations planned for subsequent iterations are identified with TODO comments.
The front-end layer is a simplistic Angular application crafted using PrimeNG components. It liaises with the back-end service, presenting tasks within distinct cards and enabling users to generate task summaries.
- Navigate to the front-end directory.
cd path-to-front-end
- Acquire the essential packages via npm.
npm install
- Launch the Angular application.
ng serve
- Task Listing: Tasks are exhibited in distinct cards. For scenarios with vast numbers of tasks (reaching into hundreds or thousands), [offer explanation on pagination or lazy-loading strategy].
- Task Summary Generation: By either clicking on a task card or a specialized button, the system fetches and manifests a computed summary pertinent to the task.
Utilizing PrimeNG components, the UI was built, and supplementary libraries might have been incorporated to bolster stability and enhance performance.