From 7fe8f114d0587258d67bd991da8653befa7fca5d Mon Sep 17 00:00:00 2001 From: Milan Mitreski Date: Mon, 20 Oct 2025 18:06:00 +0200 Subject: [PATCH 1/2] Doxygen (Reservation, Notification); README; .env.template files; IDE configurations clean-up. NotificationService minor fix. Detailed description: Doxygen documentation added for ReservationService and NotificationService. README updated for ReservationService and NotificationService with some minor adjustments. Environment variable template files (.env.template) included in Pay mentService and NotificationService - added to README. Clean-up of unneccesary IDE configurations, and Git-Hub workflow. Minor fix in Notification Service mailing logic. Relates to #134. --- .github/workflows/prevent-env-file.yml | 4 +- .../.vs/Fitness/DesignTimeBuild/.dtbcache.v2 | Bin 146250 -> 0 bytes ...17d1ff65-554b-4af2-973f-854f10067e1b.vsidx | Bin 107 -> 0 bytes ...193bcdd9-f0a1-47bc-b932-e5151266b6ff.vsidx | Bin 11992 -> 0 bytes ...242fe2c1-e01c-46a3-a911-be2a37280c63.vsidx | Bin 107 -> 0 bytes ...4e99f751-4275-4778-b6c8-94bb6764fd71.vsidx | Bin 107 -> 0 bytes ...8db63fe7-992f-4011-97f0-b1cee3ec916e.vsidx | Bin 154530 -> 0 bytes Fitness/.vs/Fitness/v17/.futdcache.v2 | Bin 161 -> 0 bytes Fitness/.vs/Fitness/v17/.wsuo | Bin 18944 -> 0 bytes Fitness/.vs/Fitness/v17/DocumentLayout.json | 37 ------ Fitness/.vs/VSWorkspaceState.json | 15 --- Fitness/.vs/slnx.sqlite | Bin 360448 -> 0 bytes .../NotificationService.API/.env.template | 1 + .../Controller/NotificationController.cs | 50 ++++++++- .../Email/EmailService.cs | 3 + .../PaymentService.API/.env.template | 2 + .../Controllers/ReservationController.cs | 105 ++++++++++++++++-- README.md | 28 +++-- 18 files changed, 167 insertions(+), 78 deletions(-) delete mode 100644 Fitness/.vs/Fitness/DesignTimeBuild/.dtbcache.v2 delete mode 100644 Fitness/.vs/Fitness/FileContentIndex/17d1ff65-554b-4af2-973f-854f10067e1b.vsidx delete mode 100644 Fitness/.vs/Fitness/FileContentIndex/193bcdd9-f0a1-47bc-b932-e5151266b6ff.vsidx delete mode 100644 Fitness/.vs/Fitness/FileContentIndex/242fe2c1-e01c-46a3-a911-be2a37280c63.vsidx delete mode 100644 Fitness/.vs/Fitness/FileContentIndex/4e99f751-4275-4778-b6c8-94bb6764fd71.vsidx delete mode 100644 Fitness/.vs/Fitness/FileContentIndex/8db63fe7-992f-4011-97f0-b1cee3ec916e.vsidx delete mode 100644 Fitness/.vs/Fitness/v17/.futdcache.v2 delete mode 100644 Fitness/.vs/Fitness/v17/.wsuo delete mode 100644 Fitness/.vs/Fitness/v17/DocumentLayout.json delete mode 100644 Fitness/.vs/VSWorkspaceState.json delete mode 100644 Fitness/.vs/slnx.sqlite create mode 100644 Fitness/Backend/Services/NotificationService/NotificationService.API/.env.template create mode 100644 Fitness/Backend/Services/PaymentService/PaymentService.API/.env.template diff --git a/.github/workflows/prevent-env-file.yml b/.github/workflows/prevent-env-file.yml index a627e02..5814fc0 100644 --- a/.github/workflows/prevent-env-file.yml +++ b/.github/workflows/prevent-env-file.yml @@ -15,8 +15,8 @@ jobs: - name: Search for .env files run: | if git diff --name-only origin/main...HEAD | grep -E '(^|/)\.env'; then - echo "❌ PR contain .env file, merge is forbiden." + echo "This PR contains .env file(s), merge is forbiden." exit 1 else - echo "✅ There are no .env files in this PR-u." + echo "There are no .env files in this PR." fi diff --git a/Fitness/.vs/Fitness/DesignTimeBuild/.dtbcache.v2 b/Fitness/.vs/Fitness/DesignTimeBuild/.dtbcache.v2 deleted file mode 100644 index 03ecbd67f5da80a9f2f21ae1e1a741858f162136..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 146250 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 diff --git a/Fitness/.vs/Fitness/FileContentIndex/17d1ff65-554b-4af2-973f-854f10067e1b.vsidx b/Fitness/.vs/Fitness/FileContentIndex/17d1ff65-554b-4af2-973f-854f10067e1b.vsidx deleted file mode 100644 index 70aef67a00f5a48bfb0d87044cf8f151e2685b5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107 wcmZ>EaTnxZU~p%E02V0C38Z0cW+XOHDO{Wlsuo0n)bd05(ok9*N*hCI0FV0t;Q#;t diff --git a/Fitness/.vs/Fitness/FileContentIndex/193bcdd9-f0a1-47bc-b932-e5151266b6ff.vsidx b/Fitness/.vs/Fitness/FileContentIndex/193bcdd9-f0a1-47bc-b932-e5151266b6ff.vsidx deleted file mode 100644 index a9a22cf1966587e77f9e829315b4f374f10ae26b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 11992 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 diff --git a/Fitness/.vs/Fitness/FileContentIndex/4e99f751-4275-4778-b6c8-94bb6764fd71.vsidx b/Fitness/.vs/Fitness/FileContentIndex/4e99f751-4275-4778-b6c8-94bb6764fd71.vsidx deleted file mode 100644 index 70aef67a00f5a48bfb0d87044cf8f151e2685b5d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 107 wcmZ>EaTnxZU~p%E02V0C38Z0cW+XOHDO{Wlsuo0n)bd05(ok9*N*hCI0FV0t;Q#;t diff --git a/Fitness/.vs/Fitness/FileContentIndex/8db63fe7-992f-4011-97f0-b1cee3ec916e.vsidx b/Fitness/.vs/Fitness/FileContentIndex/8db63fe7-992f-4011-97f0-b1cee3ec916e.vsidx deleted file mode 100644 index 76329b56c77af6ea10afd1418ff8efb208545e30..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 154530 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 -vc19p%M#^;kCoBMa8iX(!<)jEaGX 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 C_b?0q diff --git a/Fitness/.vs/Fitness/v17/.futdcache.v2 b/Fitness/.vs/Fitness/v17/.futdcache.v2 deleted file mode 100644 index a956b84dba76fe553ac14198ca861f58cf87e55c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 161 zcmZQ%U|>jav5IlaED6XdEe2r_J1@1kIL0Y4IXg8kB_=qvs4O!%wK&E(Co?s#1jOUq0zElMoO%+F(WNlhwE=LpD2EJ@2R%4KuRt8@+s V)q2&Gx5nk(yuuxKIDlHf000zDI4J-C diff --git a/Fitness/.vs/Fitness/v17/.wsuo b/Fitness/.vs/Fitness/v17/.wsuo deleted file mode 100644 index dce3c7ca62659cdfa80145ade3070125ed691e8c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18944 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 diff --git a/Fitness/.vs/Fitness/v17/DocumentLayout.json b/Fitness/.vs/Fitness/v17/DocumentLayout.json deleted file mode 100644 index 7fd6f39..0000000 --- a/Fitness/.vs/Fitness/v17/DocumentLayout.json +++ /dev/null @@ -1,37 +0,0 @@ -{ - "Version": 1, - "WorkspaceRootPath": "D:\\FitPlusPlus\\Fitness\\", - "Documents": [ - { - "AbsoluteMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|D:\\FitPlusPlus\\Fitness\\Backend\\Services\\TrainerService\\TrainerService.API\\Entities\\Trainer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}", - "RelativeMoniker": "D:0:0:{A2FE74E1-B743-11D0-AE1A-00A0C90FFFC3}|\u003CMiscFiles\u003E|solutionrelative:Backend\\Services\\TrainerService\\TrainerService.API\\Entities\\Trainer.cs||{A6C744A8-0E4A-4FC6-886A-064283054674}" - } - ], - "DocumentGroupContainers": [ - { - "Orientation": 0, - "VerticalTabListWidth": 256, - "DocumentGroups": [ - { - "DockedWidth": 200, - "SelectedChildIndex": 0, - "Children": [ - { - "$type": "Document", - "DocumentIndex": 0, - "Title": "Trainer.cs", - "DocumentMoniker": "D:\\FitPlusPlus\\Fitness\\Backend\\Services\\TrainerService\\TrainerService.API\\Entities\\Trainer.cs", - "RelativeDocumentMoniker": "Backend\\Services\\TrainerService\\TrainerService.API\\Entities\\Trainer.cs", - "ToolTip": "D:\\FitPlusPlus\\Fitness\\Backend\\Services\\TrainerService\\TrainerService.API\\Entities\\Trainer.cs", - "RelativeToolTip": "Backend\\Services\\TrainerService\\TrainerService.API\\Entities\\Trainer.cs", - "ViewState": "AQIAAAAAAAAAAAAAAAAAAAAAAAAAAAAA", - "Icon": "ae27a6b0-e345-4288-96df-5eaf394ee369.000738|", - "WhenOpened": "2024-08-09T12:48:07.265Z", - "EditorCaption": "" - } - ] - } - ] - } - ] -} \ No newline at end of file diff --git a/Fitness/.vs/VSWorkspaceState.json b/Fitness/.vs/VSWorkspaceState.json deleted file mode 100644 index e70d9ba..0000000 --- a/Fitness/.vs/VSWorkspaceState.json +++ /dev/null @@ -1,15 +0,0 @@ -{ - "ExpandedNodes": [ - "", - "\\Backend", - "\\Backend\\Services", - "\\Backend\\Services\\ClientService", - "\\Backend\\Services\\ClientService\\ClientService.API", - "\\Backend\\Services\\ClientService\\ClientService.API\\Controllers", - "\\Backend\\Services\\ClientService\\ClientService.API\\Data", - "\\Backend\\Services\\ClientService\\ClientService.API\\Entities", - "\\Backend\\Services\\TrainerService\\TrainerService.API", - "\\Backend\\Services\\TrainerService\\TrainerService.API\\Entities" - ], - "PreviewInSolutionExplorer": false -} \ No newline at end of file diff --git a/Fitness/.vs/slnx.sqlite b/Fitness/.vs/slnx.sqlite deleted file mode 100644 index 845a5adba1c74f87167d2c3de47640379b73699c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 360448 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 \ No newline at end of file diff --git a/Fitness/Backend/Services/NotificationService/NotificationService.API/Controller/NotificationController.cs b/Fitness/Backend/Services/NotificationService/NotificationService.API/Controller/NotificationController.cs index 009db14..51ab317 100644 --- a/Fitness/Backend/Services/NotificationService/NotificationService.API/Controller/NotificationController.cs +++ b/Fitness/Backend/Services/NotificationService/NotificationService.API/Controller/NotificationController.cs @@ -6,6 +6,14 @@ namespace NotificationService.API.Controller; +/// +/// Provides REST API endpoints for fetching and modifying notification data. +/// +/// +/// This controller exposes operations for fetching and modyfing notification data. +/// +/// All routes are secured and require authorization with roles Admin, Trainer, or Client. +/// [Authorize] [ApiController] [Route("api/v1/[controller]")] @@ -18,6 +26,10 @@ public NotificationController(IRepository repository, IMapper mapper) _repository = repository ?? throw new ArgumentNullException(nameof(repository)); } + /// + /// API for fetching all notifications. + /// + /// IEnumerable of all notifications. [Authorize(Roles = "Admin")] [HttpGet] [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)] @@ -27,6 +39,11 @@ public async Task>> GetNotifications() return Ok(notifications); } + /// + /// API for fetching all notifications associated with a given user. + /// + /// Unique identifier of the desired user + /// IEnumerable of notifications for the given user. [Authorize(Roles = "Admin, Trainer, Client")] [HttpGet("user/{userId}")] [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)] @@ -36,6 +53,11 @@ public async Task>> GetNotificationsByUse return Ok(notifications); } + /// + /// API for fetching a notification with the given identifier. + /// + /// Unique identifier of the notification + /// Notification with the given identifier. [Authorize(Roles = "Admin, Trainer, Client")] [HttpGet("{id}")] [ProducesResponseType(typeof(Notification), StatusCodes.Status200OK)] @@ -45,6 +67,11 @@ public async Task> GetNotificationById(string id) return Ok(notification); } + /// + /// API for updating a notification. + /// + /// Notification object containing updated values. + /// Updated notification object. [Authorize(Roles = "Admin, Trainer, Client")] [HttpPut] [ProducesResponseType(typeof(Notification), StatusCodes.Status200OK)] @@ -53,7 +80,11 @@ public async Task UpdateNotification([FromBody] Notification noti return Ok(await _repository.UpdateNotification(notification)); } - // PUT api/notifications/{id}/read + /// + /// API for marking a notification (with the given identifier) as read. + /// + /// Unique identifier of the notification to be marked as read. + /// 200 OK if successful, 404 NotFound if notification does not exist. [Authorize(Roles = "Trainer, Client")] [HttpPut("{id}/read")] [ProducesResponseType(StatusCodes.Status200OK)] @@ -68,7 +99,10 @@ public async Task MarkAsRead(string id) return Ok(new { Message = "Notification marked as read" }); } - + /// + /// API for deleting all notifications. + /// + /// 200 OK when all notifications are deleted. [Authorize(Roles = "Admin")] [HttpDelete] [ProducesResponseType(typeof(Notification), StatusCodes.Status200OK)] @@ -78,14 +112,24 @@ public async Task DeleteNotifications() return Ok(); } + /// + /// API for deleting all notifications for a given user. + /// + /// Unique identifier of the user whose notifications should be deleted. + /// 200 OK when notifications are deleted. [Authorize(Roles = "Admin, Trainer, Client")] [HttpDelete("/user/{userId}")] [ProducesResponseType(typeof(Notification), StatusCodes.Status200OK)] public async Task DeleteNotificationsByUserTypeAndUserId(string userId) { - return Ok( await _repository.DeleteNotificationsByUserId(userId)); + return Ok(await _repository.DeleteNotificationsByUserId(userId)); } + /// + /// API for deleting a notification with the given identifier. + /// + /// Unique identifier of the notification. + /// 200 OK when the notification is deleted. [Authorize(Roles = "Admin, Trainer, Client")] [HttpDelete("{id}")] [ProducesResponseType(typeof(Notification), StatusCodes.Status200OK)] diff --git a/Fitness/Backend/Services/NotificationService/NotificationService.API/Email/EmailService.cs b/Fitness/Backend/Services/NotificationService/NotificationService.API/Email/EmailService.cs index e4f0b18..bd191ef 100644 --- a/Fitness/Backend/Services/NotificationService/NotificationService.API/Email/EmailService.cs +++ b/Fitness/Backend/Services/NotificationService/NotificationService.API/Email/EmailService.cs @@ -13,6 +13,9 @@ public EmailService(IFluentEmail fluentEmail) public async Task SendEmailAsync(string to, string subject, string body) { + // Clear all previous recipients -- ADDED AFTER THE DEADLINE -- minor addition + _fluentEmail.Data.ToAddresses.Clear(); + var response = await _fluentEmail .To(to) .Subject(subject) diff --git a/Fitness/Backend/Services/PaymentService/PaymentService.API/.env.template b/Fitness/Backend/Services/PaymentService/PaymentService.API/.env.template new file mode 100644 index 0000000..28e4d3b --- /dev/null +++ b/Fitness/Backend/Services/PaymentService/PaymentService.API/.env.template @@ -0,0 +1,2 @@ +PayPalSettings__ClientId= +PayPalSettings__ClientSecret= \ No newline at end of file diff --git a/Fitness/Backend/Services/ReservationService/ReservationService.API/Controllers/ReservationController.cs b/Fitness/Backend/Services/ReservationService/ReservationService.API/Controllers/ReservationController.cs index cf1ae97..cdc677d 100644 --- a/Fitness/Backend/Services/ReservationService/ReservationService.API/Controllers/ReservationController.cs +++ b/Fitness/Backend/Services/ReservationService/ReservationService.API/Controllers/ReservationController.cs @@ -7,6 +7,14 @@ namespace ReservationService.API.Controllers; +/// +/// Provides REST API endpoints for fetching, creating, and managing reservation data. +/// +/// +/// This controller exposes operations for handling both individual and group reservations. +/// +/// All routes are secured and require authorization with roles Admin, Trainer, or Client. +/// [Authorize] [ApiController] [Route("api/v1/[controller]")] @@ -16,9 +24,13 @@ public class ReservationController : ControllerBase public ReservationController(IReservationService reservationService) { - _reservationService = reservationService ?? throw new ArgumentNullException(nameof(reservationService)); + _reservationService = reservationService ?? throw new ArgumentNullException(nameof(reservationService)); } + /// + /// API for fetching all individual reservations. + /// + /// IEnumerable of all individual reservations. [Authorize(Roles = "Admin, Client, Trainer")] [HttpGet("individual")] [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)] @@ -27,7 +39,11 @@ public async Task>> GetIndividua var reservations = await _reservationService.GetIndividualReservationsAsync(); return Ok(reservations); } - + + /// + /// API for fetching all group reservations. + /// + /// IEnumerable of all group reservations. [Authorize(Roles = "Admin, Client, Trainer")] [HttpGet("group")] [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)] @@ -36,9 +52,14 @@ public async Task>> GetGroupReservati var reservations = await _reservationService.GetGroupReservationsAsync(); return Ok(reservations); } - + + /// + /// API for fetching a specific individual reservation by its identifier. + /// + /// Unique identifier of the individual reservation. + /// Individual reservation with the given identifier. [Authorize(Roles = "Admin, Client, Trainer")] - [HttpGet("individual/{id}", Name="GetIndividualReservation")] + [HttpGet("individual/{id}", Name = "GetIndividualReservation")] [ProducesResponseType(typeof(IndividualReservation), StatusCodes.Status200OK)] [ProducesResponseType(StatusCodes.Status404NotFound)] public async Task> GetIndividualReservation(string id) @@ -47,7 +68,12 @@ public async Task> GetIndividualReservation( if (reservation == null) return NotFound(); return Ok(reservation); } - + + /// + /// API for fetching a specific group reservation by its identifier. + /// + /// Unique identifier of the group reservation. + /// Group reservation with the given identifier. [Authorize(Roles = "Admin, Client, Trainer")] [HttpGet("group/{id}", Name = "GetGroupReservation")] [ProducesResponseType(typeof(GroupReservation), StatusCodes.Status200OK)] @@ -58,7 +84,12 @@ public async Task> GetGroupReservation(string id) if (reservation == null) return NotFound(); return Ok(reservation); } - + + /// + /// API for fetching all individual reservations for a specific client. + /// + /// Unique identifier of the client. + /// IEnumerable of individual reservations for the given client. [Authorize(Roles = "Admin, Client, Trainer")] [HttpGet("individual/client/{clientId}")] [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)] @@ -68,6 +99,11 @@ public async Task>> GetIndividua return Ok(reservations); } + /// + /// API for fetching all group reservations for a specific client. + /// + /// Unique identifier of the client. + /// IEnumerable of group reservations for the given client. [Authorize(Roles = "Admin, Client, Trainer")] [HttpGet("group/client/{clientId}")] [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)] @@ -77,6 +113,11 @@ public async Task>> GetGroupReservati return Ok(reservations); } + /// + /// API for fetching all individual reservations for a specific trainer. + /// + /// Unique identifier of the trainer. + /// IEnumerable of individual reservations for the given trainer. [Authorize(Roles = "Admin, Client, Trainer")] [HttpGet("individual/trainer/{trainerId}")] [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)] @@ -85,7 +126,12 @@ public async Task>> GetIndividua var reservations = await _reservationService.GetIndividualReservationsByTrainerIdAsync(trainerId); return Ok(reservations); } - + + /// + /// API for fetching all group reservations for a specific trainer. + /// + /// Unique identifier of the trainer. + /// IEnumerable of group reservations for the given trainer. [Authorize(Roles = "Admin, Client, Trainer")] [HttpGet("group/trainer/{trainerId}")] [ProducesResponseType(typeof(IEnumerable), StatusCodes.Status200OK)] @@ -94,7 +140,12 @@ public async Task>> GetGroupReservati var reservations = await _reservationService.GetGroupReservationsByTrainerIdAsync(trainerId); return Ok(reservations); } - + + /// + /// API for creating a new individual reservation. + /// + /// Individual reservation data to be created. + /// 201 Created if successful. [Authorize(Roles = "Client")] [HttpPost("individual")] [ProducesResponseType(typeof(IndividualReservation), StatusCodes.Status201Created)] @@ -111,6 +162,11 @@ public async Task> CreateIndividualReservati } } + /// + /// API for creating a new group reservation. + /// + /// Group reservation data to be created. + /// 201 Created if successful. [Authorize(Roles = "Trainer")] [HttpPost("group")] [ProducesResponseType(typeof(GroupReservation), StatusCodes.Status201Created)] @@ -127,12 +183,17 @@ public async Task> CreateGroupReservation([FromBo } } + /// + /// API for deleting a group reservation by its identifier. + /// + /// Unique identifier of the group reservation. + /// 204 NoContent if deleted successfully. [Authorize(Roles = "Trainer")] [HttpDelete("group/{id}")] [ProducesResponseType(typeof(GroupReservation), StatusCodes.Status200OK)] public async Task DeleteGroupReservation(string id) { - var deleted = await _reservationService.DeleteGroupReservationAsync(id); + var deleted = await _reservationService.DeleteGroupReservationAsync(id); if (deleted) { return NoContent(); @@ -142,7 +203,12 @@ public async Task DeleteGroupReservation(string id) return BadRequest(); } } - + + /// + /// API for cancelling an individual reservation by the client. + /// + /// Unique identifier of the reservation to cancel. + /// 204 NoContent if cancelled successfully. [Authorize(Roles = "Client")] [HttpPut("individual/client/cancel/{id}")] [ProducesResponseType(typeof(IndividualReservation), StatusCodes.Status204NoContent)] @@ -152,15 +218,26 @@ public async Task CancelClientIndividualReservation(string id) return cancelled ? Ok(cancelled) : BadRequest(); } + /// + /// API for cancelling an individual reservation by the trainer. + /// + /// Unique identifier of the reservation to cancel. + /// 204 NoContent if cancelled successfully. [Authorize(Roles = "Trainer")] [HttpPut("individual/trainer/cancel/{id}")] [ProducesResponseType(typeof(IndividualReservation), StatusCodes.Status204NoContent)] public async Task CancelTrainerIndividualReservation(string id) { - var cancelled = await _reservationService.TrainerCancelIndividualReservationAsync(id); + var cancelled = await _reservationService.TrainerCancelIndividualReservationAsync(id); return cancelled ? Ok(cancelled) : BadRequest(); } + /// + /// API for booking a group reservation by a client. + /// + /// Unique identifier of the group reservation. + /// Unique identifier of the client booking the reservation. + /// 200 OK if booked successfully. [Authorize(Roles = "Client")] [HttpPost("group/book/{id}")] [ProducesResponseType(typeof(GroupReservation), StatusCodes.Status200OK)] @@ -177,6 +254,12 @@ public async Task BookGroupReservation(string id, [FromQuery] str } } + /// + /// API for cancelling a group reservation by a client. + /// + /// Unique identifier of the group reservation. + /// Unique identifier of the client cancelling the reservation. + /// 204 NoContent if cancelled successfully. [Authorize(Roles = "Client")] [HttpPost("group/cancel/{id}")] [ProducesResponseType(typeof(GroupReservation), StatusCodes.Status204NoContent)] diff --git a/README.md b/README.md index 3f68208..901adc4 100644 --- a/README.md +++ b/README.md @@ -20,9 +20,9 @@ This project is an **extension of the previous FitPlusPlus application**, which ### Previous Development Team (2023): -3. **Belaković Nikola** – Student ID: 1023/2023 -1. **Stanojević Lazar** – Student ID: 1013/2023 -2. **Todorović Vasilije** – Student ID: 1015/2023 +1. **Belaković Nikola** – Student ID: 1023/2023 +2. **Stanojević Lazar** – Student ID: 1013/2023 +3. **Todorović Vasilije** – Student ID: 1015/2023 GitHub Repository of the Previous Project: [FitPlusPlus](https://github.com/lazars01/FitPlusPlus) @@ -44,7 +44,7 @@ The FitPlusPlus application consists of multiple microservices, some developed b - Manages trainer profiles, schedules, and training history. 4. **ReviewService** - - Allows clients to leave reviews and ratings for trainers. + - Allows clients and trainers to leave reviews for each training. 5. **PaymentService** - Processes payments for training sessions. @@ -84,7 +84,11 @@ The FitPlusPlus application consists of multiple microservices, some developed b 3. **ReservationService** - Enables **booking of individual and group training sessions**. - Supports **real-time scheduling, cancellation, and availability tracking**. - - Integrated with NotificationService for real-time and email notifications on reservation updates. + - Integrated with: + - PaymentService, for real-time payments of training sessions + - NotificationService, for real-time and email notifications on reservation updates. + - AnalyticsService, for real-time updates of various training-related statistics of clients and trainers. + 4. **NotificationService** - Sends **push and email notifications** to clients and trainers. @@ -103,8 +107,8 @@ The FitPlusPlus application consists of multiple microservices, some developed b - **Charts** visualizing collaboration between clients and trainers 6. **Gateway and Discovery Service** - - A **centralized API gateway** that directs requests to the correct microservice. - - Facilitates **automatic detection and scaling** of microservices. + - A **centralized API gateway** that directs requests to the correct microservice, using **Ocelot** - an API Gateway library. + - Facilitates **automatic detection and scaling** of microservices, using **Consul** - a Service Discovery library. 7. **Nutrition Service** - Manages **nutrition goals, meal plans and calorie tracking** for clients and trainers. @@ -136,6 +140,8 @@ The FitPlusPlus application consists of multiple microservices, some developed b - **Event Bus:** RabbitMQ for microservices communication - **Communication Protocols:** WebSockets (real-time chat), GRPC and REST API for microservices communication - **Payment Integration:** PayPal for chat session payments and booking training +- **Gateway and Service Discovery**: Ocelot (API Gateway), Consul (Service Discovery) +- **Emailing**: FluentEmail (using SMTP protocol) ## Platform Compatibility @@ -159,20 +165,22 @@ To start the updated application: cd FitPlusPlus ``` -2. Start all microservices from FitPlusPlus/Fitness/Backend: +2. Create `.env` files, based on templates given in various `.env.template` files. Fill in the fields with your secrets. Required for PaymentService and NotificationService. *Note: For changing the configuration for sending out email notifications, change the configuration variables specified in `docker-compose.development.yml` under the `notificationservice.api` part. Email configuration variables start with `EmailSettings`* + +3. Start all microservices from FitPlusPlus/Fitness/Backend: ```bash docker-compose -f docker-compose.yml -f docker-compose.development.yml up -d --build ``` -3. Start the frontend service from FitPlusPlus/Fitness/Frontend directory: +4. Start the frontend service from FitPlusPlus/Fitness/Frontend directory: ```bash npm install npm run serve ``` -4. Open the application in your browser: +5. Open the application in your browser: ``` http://localhost:8080 From 8a9eb0ae30b804829f8578a22287b072305d6235 Mon Sep 17 00:00:00 2001 From: Vukasin Markovic <57540626+sntntn@users.noreply.github.com> Date: Tue, 21 Oct 2025 09:41:40 +0200 Subject: [PATCH 2/2] Fix README - redundant link Removed duplicate video link from README. --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 901adc4..5debc0d 100644 --- a/README.md +++ b/README.md @@ -126,7 +126,7 @@ The FitPlusPlus application consists of multiple microservices, some developed b - Interactive Calorie Tracker: Client can enter food in grams and automatically calculates consumed and remaining calories. - This **[video](https://youtu.be/nSJhnaC0eAc?si=-Dm2DyJzZ1tnmKfo)** demonstrates the capabilities of the **Nutrition Service**: https://youtu.be/nSJhnaC0eAc?si=-Dm2DyJzZ1tnmKfo + This **[video](https://youtu.be/nSJhnaC0eAc?si=-Dm2DyJzZ1tnmKfo)** demonstrates the capabilities of the **Nutrition Service**. ![Adobe Express - file](https://github.com/user-attachments/assets/0ffc42e1-89b1-4107-938d-277fea981f7a) ---