{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":650707652,"defaultBranch":"main","name":"LearningProcessTracker","ownerLogin":"EdouardZemb","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2023-06-07T16:26:17.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/55447119?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1688187499.0","currentOid":""},"activityList":{"items":[{"before":null,"after":"07fe9d9efc0db7b4eb8327c72e0f8d70cbc65ff4","ref":"refs/heads/EdouardZemb-patch-1","pushedAt":"2023-07-01T04:58:19.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Create gradle.yml","shortMessageHtmlLink":"Create gradle.yml"}},{"before":"cdf5951c5120126d7e41c2be1d81bdc742543f14","after":"3129f720fa4b83da722d922fa9e60ef0f7626081","ref":"refs/heads/main","pushedAt":"2023-06-30T08:11:23.000Z","pushType":"pr_merge","commitsCount":3,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #17 from EdouardZemb/13-implement-find-command\n\n13 implement find command","shortMessageHtmlLink":"Merge pull request #17 from EdouardZemb/13-implement-find-command"}},{"before":"cdf5951c5120126d7e41c2be1d81bdc742543f14","after":"f4d55c754f6cf91a5697a0bedcc371018d151f0a","ref":"refs/heads/13-implement-find-command","pushedAt":"2023-06-30T07:41:36.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"feat: Add FindCommand for searching students by ID\n\n Added a new file FindCommand.java to the tracker package.\n The FindCommand class extends the Command class and provides functionality for searching students by ID.\n The command takes an OutputProvider, InputProvider, and StudentRepository as dependencies.\n The execute method prompts the user to enter an ID or 'back' to return.\n It continuously reads input from the user until 'back' is entered.\n If a valid ID is entered, the corresponding student's ID and points are displayed.\n If an invalid ID is entered, an error message is displayed.\n This change enhances the functionality of the application by allowing users to find students by their ID.\n\nCloses #13","shortMessageHtmlLink":"feat: Add FindCommand for searching students by ID"}},{"before":null,"after":"cdf5951c5120126d7e41c2be1d81bdc742543f14","ref":"refs/heads/13-implement-find-command","pushedAt":"2023-06-26T14:33:38.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #16 from EdouardZemb/11-implement-add-points-command\n\n11 implement add points command","shortMessageHtmlLink":"Merge pull request #16 from EdouardZemb/11-implement-add-points-command"}},{"before":"1f9a6cddd2a8aad9fae26a731835bb9bfe894da8","after":null,"ref":"refs/heads/11-implement-add-points-command","pushedAt":"2023-06-26T14:28:46.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"}},{"before":"da1277b104962dbe7145a4ac8376bb93dcf8be8b","after":"cdf5951c5120126d7e41c2be1d81bdc742543f14","ref":"refs/heads/main","pushedAt":"2023-06-26T14:28:43.000Z","pushType":"pr_merge","commitsCount":4,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #16 from EdouardZemb/11-implement-add-points-command\n\n11 implement add points command","shortMessageHtmlLink":"Merge pull request #16 from EdouardZemb/11-implement-add-points-command"}},{"before":"da1277b104962dbe7145a4ac8376bb93dcf8be8b","after":"1f9a6cddd2a8aad9fae26a731835bb9bfe894da8","ref":"refs/heads/11-implement-add-points-command","pushedAt":"2023-06-26T14:16:33.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"test: Add unit tests for AddPointsCommand class\n\nThis commit adds unit tests for the AddPointsCommand class in the tracker package. The tests verify that the execute() method correctly prints the prompt message and calls the handlePointsInput() method of the PointsInputHandler dependency. Mockito library is used to create mock objects for the OutputProvider and PointsInputHandler dependencies.\n\nCloses #11","shortMessageHtmlLink":"test: Add unit tests for AddPointsCommand class"}},{"before":null,"after":"da1277b104962dbe7145a4ac8376bb93dcf8be8b","ref":"refs/heads/11-implement-add-points-command","pushedAt":"2023-06-25T14:50:01.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #15 from EdouardZemb/10-implement-list-command\n\n10 implement list command","shortMessageHtmlLink":"Merge pull request #15 from EdouardZemb/10-implement-list-command"}},{"before":"157207f9aeb8253d76994a2d055288e2a9f80421","after":null,"ref":"refs/heads/10-implement-list-command","pushedAt":"2023-06-25T14:49:37.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"}},{"before":"38440a0862066733869db9240cf8ddf1894482cb","after":"da1277b104962dbe7145a4ac8376bb93dcf8be8b","ref":"refs/heads/main","pushedAt":"2023-06-25T14:49:31.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #15 from EdouardZemb/10-implement-list-command\n\n10 implement list command","shortMessageHtmlLink":"Merge pull request #15 from EdouardZemb/10-implement-list-command"}},{"before":"38440a0862066733869db9240cf8ddf1894482cb","after":"157207f9aeb8253d76994a2d055288e2a9f80421","ref":"refs/heads/10-implement-list-command","pushedAt":"2023-06-25T14:34:30.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"test: Add ListCommandTests\n\nThis commit adds the test class ListCommandTests, which contains unit tests for the ListCommand class. The tests cover scenarios where there are no students and where there are multiple students in the repository. The tests verify the execution of the command and the expected output. The Mockito framework is used to mock the dependencies and assert the interactions.\n\nCloses #10","shortMessageHtmlLink":"test: Add ListCommandTests"}},{"before":null,"after":"38440a0862066733869db9240cf8ddf1894482cb","ref":"refs/heads/10-implement-list-command","pushedAt":"2023-06-25T08:09:47.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #14 from EdouardZemb/9-create-a-function-to-check-if-an-email-has-already-been-used\n\n9 create a function to check if an email has already been used","shortMessageHtmlLink":"Merge pull request #14 from EdouardZemb/9-create-a-function-to-check-…"}},{"before":"0cbab1bd071ffe6c7ca61ea4a1567cd74cc8dd38","after":null,"ref":"refs/heads/9-create-a-function-to-check-if-an-email-has-already-been-used","pushedAt":"2023-06-25T08:04:27.000Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"}},{"before":"e828c5b5e6cf5ea78c720d879cccbd7bb9701c5a","after":"38440a0862066733869db9240cf8ddf1894482cb","ref":"refs/heads/main","pushedAt":"2023-06-25T08:04:20.000Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #14 from EdouardZemb/9-create-a-function-to-check-if-an-email-has-already-been-used\n\n9 create a function to check if an email has already been used","shortMessageHtmlLink":"Merge pull request #14 from EdouardZemb/9-create-a-function-to-check-…"}},{"before":"e828c5b5e6cf5ea78c720d879cccbd7bb9701c5a","after":"0cbab1bd071ffe6c7ca61ea4a1567cd74cc8dd38","ref":"refs/heads/9-create-a-function-to-check-if-an-email-has-already-been-used","pushedAt":"2023-06-25T07:46:16.000Z","pushType":"push","commitsCount":6,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"test: Add unit tests for the StudentRepository class\n\n This commit adds a comprehensive set of unit tests for the StudentRepository class. The tests cover various scenarios, including adding a single student, adding multiple students, checking email availability, retrieving all students, and getting the student count. The tests ensure that the StudentRepository functions correctly and maintains the expected state. These tests provide increased confidence in the correctness and reliability of the StudentRepository implementation.\n\nCloses #9","shortMessageHtmlLink":"test: Add unit tests for the StudentRepository class"}},{"before":null,"after":"e828c5b5e6cf5ea78c720d879cccbd7bb9701c5a","ref":"refs/heads/9-create-a-function-to-check-if-an-email-has-already-been-used","pushedAt":"2023-06-24T14:17:08.000Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #8 from EdouardZemb/7-implement-add-students-command-recognition-and-response\n\n7 implement add students command recognition and response","shortMessageHtmlLink":"Merge pull request #8 from EdouardZemb/7-implement-add-students-comma…"}},{"before":"3843cb5d6c1bbd3f03d47ed282b020633a98a078","after":null,"ref":"refs/heads/7-implement-add-students-command-recognition-and-response","pushedAt":"2023-06-21T16:01:54.580Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"}},{"before":"573d5be3ec140b9126ddf05c0b78dc8e8035e1d1","after":"e828c5b5e6cf5ea78c720d879cccbd7bb9701c5a","ref":"refs/heads/main","pushedAt":"2023-06-21T16:00:24.564Z","pushType":"pr_merge","commitsCount":27,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #8 from EdouardZemb/7-implement-add-students-command-recognition-and-response\n\n7 implement add students command recognition and response","shortMessageHtmlLink":"Merge pull request #8 from EdouardZemb/7-implement-add-students-comma…"}},{"before":"b25626c095cfdd3950053717d70436a81f2afa23","after":"3843cb5d6c1bbd3f03d47ed282b020633a98a078","ref":"refs/heads/7-implement-add-students-command-recognition-and-response","pushedAt":"2023-06-21T15:31:02.640Z","pushType":"push","commitsCount":1,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"test: Added JUnit 5 test classes for LastName, Email, FirstName, Student, and CredentialsExtractor classes\n\nAdded separate test classes for LastName, Email, FirstName, Student, and CredentialsExtractor classes in the tracker package. Each test class contains test cases to validate the behavior of the corresponding class. The tests cover both valid and invalid inputs, ensuring proper functionality and error handling.\n\nCloses #7","shortMessageHtmlLink":"test: Added JUnit 5 test classes for LastName, Email, FirstName, Stud…"}},{"before":"573d5be3ec140b9126ddf05c0b78dc8e8035e1d1","after":"b25626c095cfdd3950053717d70436a81f2afa23","ref":"refs/heads/7-implement-add-students-command-recognition-and-response","pushedAt":"2023-06-21T14:10:56.329Z","pushType":"push","commitsCount":25,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"refactor: Refactor Student class to use a record\n\nThis commit refactors the Student class to use a record class, which provides a concise and expressive way to define immutable data classes.\n\nHere are the changes made:\n\nThe Student class has been converted to a record class with a single field credentials. The constructor now takes Credentials as a parameter and validates the credentials using the isValid method. If the credentials are invalid (in this case, if they are null), an exception is thrown.\n\nThe isValid method has been modified to accept Credentials as a parameter instead of a String input. It simply checks if the credentials are not null.\n\nThese changes simplify the code by leveraging the features of record classes, such as automatic field generation, equals(), hashCode(), and toString() methods. The validation logic is moved to the constructor, ensuring that valid objects are always created.\n\nRefs #7","shortMessageHtmlLink":"refactor: Refactor Student class to use a record"}},{"before":null,"after":"573d5be3ec140b9126ddf05c0b78dc8e8035e1d1","ref":"refs/heads/7-implement-add-students-command-recognition-and-response","pushedAt":"2023-06-09T14:35:22.428Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #6 from EdouardZemb/5-handling-of-unknown-commands\n\n5 handling of unknown commands","shortMessageHtmlLink":"Merge pull request #6 from EdouardZemb/5-handling-of-unknown-commands"}},{"before":"4dc0e8bdf0b758cd98b871dc3076f445cef46faa","after":null,"ref":"refs/heads/5-handling-of-unknown-commands","pushedAt":"2023-06-09T14:26:54.848Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"}},{"before":"38280822cf51b62337a6ac926c9b5b0a0febabf2","after":"573d5be3ec140b9126ddf05c0b78dc8e8035e1d1","ref":"refs/heads/main","pushedAt":"2023-06-09T14:26:46.474Z","pushType":"pr_merge","commitsCount":2,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #6 from EdouardZemb/5-handling-of-unknown-commands\n\n5 handling of unknown commands","shortMessageHtmlLink":"Merge pull request #6 from EdouardZemb/5-handling-of-unknown-commands"}},{"before":"38280822cf51b62337a6ac926c9b5b0a0febabf2","after":"4dc0e8bdf0b758cd98b871dc3076f445cef46faa","ref":"refs/heads/5-handling-of-unknown-commands","pushedAt":"2023-06-09T14:06:06.161Z","pushType":"push","commitsCount":1,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"feat: Handling of unrecognized commands\n\nRefactor the DefaultCommandExecutor class to handle unrecognized commands more effectively. The handleUnrecognizedCommand method has been modified to print the appropriate error message \"Error: unknown command!\" to the output. This change enhances the user experience by providing clear feedback when an unknown command is entered. The existing functionality and tests remain unaffected.\n\nCloses #5","shortMessageHtmlLink":"feat: Handling of unrecognized commands"}},{"before":null,"after":"38280822cf51b62337a6ac926c9b5b0a0febabf2","ref":"refs/heads/5-handling-of-unknown-commands","pushedAt":"2023-06-09T13:52:16.210Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #4 from EdouardZemb/3-detect-and-handle-blank-input\n\n3 detect and handle blank input","shortMessageHtmlLink":"Merge pull request #4 from EdouardZemb/3-detect-and-handle-blank-input"}},{"before":"26139fe52d703c1b13d3b34ea5a64f3bbb519bd0","after":null,"ref":"refs/heads/3-detect-and-handle-blank-input","pushedAt":"2023-06-09T12:42:22.437Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"}},{"before":"1291455172d05e8876df10101057a016d95d1ab2","after":"38280822cf51b62337a6ac926c9b5b0a0febabf2","ref":"refs/heads/main","pushedAt":"2023-06-09T12:42:16.581Z","pushType":"pr_merge","commitsCount":7,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #4 from EdouardZemb/3-detect-and-handle-blank-input\n\n3 detect and handle blank input","shortMessageHtmlLink":"Merge pull request #4 from EdouardZemb/3-detect-and-handle-blank-input"}},{"before":"1291455172d05e8876df10101057a016d95d1ab2","after":"26139fe52d703c1b13d3b34ea5a64f3bbb519bd0","ref":"refs/heads/3-detect-and-handle-blank-input","pushedAt":"2023-06-09T12:23:01.824Z","pushType":"push","commitsCount":6,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"test: Add tests for DefaultCommandExecutor class\n\nAdded tests for the executeCommand() method, ensuring it executes the command correctly.\nAdded a test for the handleBlankInput() method, verifying that it handles blank input appropriately.\nUsed Mockito for mocking dependencies and verifying method invocations.\n\nCloses #3","shortMessageHtmlLink":"test: Add tests for DefaultCommandExecutor class"}},{"before":null,"after":"1291455172d05e8876df10101057a016d95d1ab2","ref":"refs/heads/3-detect-and-handle-blank-input","pushedAt":"2023-06-09T07:12:51.144Z","pushType":"branch_creation","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"},"commit":{"message":"Merge pull request #2 from EdouardZemb/1-implement-wait-for-commands-functionality\n\n1 implement wait for commands functionality","shortMessageHtmlLink":"Merge pull request #2 from EdouardZemb/1-implement-wait-for-commands-…"}},{"before":"6f8a75ea000cdf2a38d104c26f1299abdbab709f","after":null,"ref":"refs/heads/1-implement-wait-for-commands-functionality","pushedAt":"2023-06-08T21:23:27.134Z","pushType":"branch_deletion","commitsCount":0,"pusher":{"login":"EdouardZemb","name":"Edouard Zemb","path":"/EdouardZemb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/55447119?s=80&v=4"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAADTK-5QQA","startCursor":null,"endCursor":null}},"title":"Activity · EdouardZemb/LearningProcessTracker"}