{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":741476145,"defaultBranch":"main","name":"Back-End-Basics","ownerLogin":"SimeonSavov","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-01-10T13:28:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/132813942?v=4","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1704893281.563383","currentOid":""},"activityList":{"items":[{"before":"3b7ae76dbfd4b45136787861841c5f090b64776d","after":"cd3bd9ccc5ca7cf10c44b36e063c2fb9d17a2d0c","ref":"refs/heads/main","pushedAt":"2024-03-02T13:35:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add JS file with solution from the exam","shortMessageHtmlLink":"feat: Add JS file with solution from the exam"}},{"before":"bff1f7fdcb6572699aaed64a0d11b33202a68ed4","after":"3b7ae76dbfd4b45136787861841c5f090b64776d","ref":"refs/heads/main","pushedAt":"2024-03-02T13:35:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add folder with solution for the JSON problem from the exam","shortMessageHtmlLink":"feat: Add folder with solution for the JSON problem from the exam"}},{"before":"402c959cda9525243338d9c6a8ed6e0d942e4fde","after":"bff1f7fdcb6572699aaed64a0d11b33202a68ed4","ref":"refs/heads/main","pushedAt":"2024-02-29T07:21:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add Integration Tests for the LibroConsoleAPI","shortMessageHtmlLink":"feat: Add Integration Tests for the LibroConsoleAPI"}},{"before":"2852becab87a1c8b37249b6d8d41be4b9b59eb0e","after":"402c959cda9525243338d9c6a8ed6e0d942e4fde","ref":"refs/heads/main","pushedAt":"2024-02-28T07:46:54.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add JS solution for the second exercise","shortMessageHtmlLink":"feat: Add JS solution for the second exercise"}},{"before":"cf856eabe5eb9d981fedfbe430fe70b91f3658ad","after":"2852becab87a1c8b37249b6d8d41be4b9b59eb0e","ref":"refs/heads/main","pushedAt":"2024-02-28T07:41:41.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add folder which contains solution for the MVC demo","shortMessageHtmlLink":"feat: Add folder which contains solution for the MVC demo"}},{"before":"58e36f0d0efc38e9e151f4531641937e53db5cbd","after":"cf856eabe5eb9d981fedfbe430fe70b91f3658ad","ref":"refs/heads/main","pushedAt":"2024-02-28T07:26:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add PersonRegister folder which contains solution for the EF Core Introduction","shortMessageHtmlLink":"feat: Add PersonRegister folder which contains solution for the EF Co…"}},{"before":"3d723c758810109250c004a9f41362f9f0bdf3dc","after":"58e36f0d0efc38e9e151f4531641937e53db5cbd","ref":"refs/heads/main","pushedAt":"2024-02-28T07:23:10.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add Integration NUnit Tests","shortMessageHtmlLink":"feat: Add Integration NUnit Tests"}},{"before":"4a28e81050db72a399101c8631d91ba7a3693a80","after":"3d723c758810109250c004a9f41362f9f0bdf3dc","ref":"refs/heads/main","pushedAt":"2024-02-22T07:35:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add JavaScript function to manage movie tickets at the box office\n\nThis commit introduces a JavaScript function named solve designed to manage movie tickets at the box office. The function takes an array input as its parameter, representing commands related to selling, adding, swapping, or ending movie ticket sales.\n\nInside the function, the array input is parsed to extract the number of movies and the subsequent commands. The function iterates through each command, processing it accordingly. For commands like \"Sell\" and \"Swap\", it modifies the allMovies array which stores the list of available movies. Additionally, error handling is implemented to handle invalid input such as out-of-bounds indices for the \"Swap\" command.\n\nAfter processing all commands, the function checks if there are any movies left in the allMovies array. If so, it prints the remaining tickets; otherwise, it indicates that the box office is empty. This function provides a simple yet effective way to manage movie ticket sales and operations at the box","shortMessageHtmlLink":"feat: Add JavaScript function to manage movie tickets at the box office"}},{"before":"10cd14795ac2540a4498546f8425f56635a899a5","after":"4a28e81050db72a399101c8631d91ba7a3693a80","ref":"refs/heads/main","pushedAt":"2024-02-22T07:32:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add JSON data file for musicians and update program to parse and display the data\n\nIn this commit, a JSON data file named \"Musicians.json\" has been manually created to store information about musicians, including their participant ID, name, date of birth, instrument skills, and preferred genres. Additionally, the Main method in the Program class has been updated to include a call to the ParseMusicians method, which reads the JSON file, deserializes its contents into a list of Musician objects, and then displays the parsed data using the DisplayMusicians method. Error handling has also been implemented in case any exceptions occur during the JSON parsing process.","shortMessageHtmlLink":"feat: Add JSON data file for musicians and update program to parse an…"}},{"before":"8d4d0feaf06650d92364415a75dfa67d24e7fa4e","after":"10cd14795ac2540a4498546f8425f56635a899a5","ref":"refs/heads/main","pushedAt":"2024-02-20T09:27:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md with link for lesson 16","shortMessageHtmlLink":"Update README.md with link for lesson 16"}},{"before":"1c8eedec62696e079e6bdaee128e6f604d07a62c","after":"8d4d0feaf06650d92364415a75dfa67d24e7fa4e","ref":"refs/heads/main","pushedAt":"2024-02-20T09:27:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md with summary for lesson 16","shortMessageHtmlLink":"Update README.md with summary for lesson 16"}},{"before":"40a94da7de5fd058d7a0067417b70162614afc91","after":"1c8eedec62696e079e6bdaee128e6f604d07a62c","ref":"refs/heads/main","pushedAt":"2024-02-20T09:25:51.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Integrate mutation testing for CalculatorEngine methods\n\nThis commit introduces mutation testing for the methods implemented in the CalculatorEngine class within the Calculator namespace. The CalculatorEngine class provides basic arithmetic operations such as addition, subtraction, multiplication, and division.\n\nTo conduct mutation testing, I have utilized the Stryker mutation testing framework. Stryker introduces small changes, or mutations, to the source code and then re-runs the unit tests to determine if any mutations cause the tests to fail. This process helps evaluate the effectiveness of our unit tests by identifying areas of weakness in the test suite's ability to detect faults or changes in the codebase.\n\nThe existing unit tests for each method in the CalculatorEngine class have been augmented with mutation testing, ensuring thorough evaluation of each method's behavior under various mutation scenarios. This integration enhances the reliability of our testing strategy and assists in identifying potential areas for improvement in our codebase's fault tolerance and error detection mechanisms.","shortMessageHtmlLink":"feat: Integrate mutation testing for CalculatorEngine methods"}},{"before":"a39ad5054187e1b54b98e80fb54b1f244a5248fa","after":"40a94da7de5fd058d7a0067417b70162614afc91","ref":"refs/heads/main","pushedAt":"2024-02-18T19:38:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md with link for lesson 15","shortMessageHtmlLink":"Update README.md with link for lesson 15"}},{"before":"f1e9f8ba0a4d752e5ed0b708c058207ecfb434d5","after":"a39ad5054187e1b54b98e80fb54b1f244a5248fa","ref":"refs/heads/main","pushedAt":"2024-02-18T19:37:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md with summary for lesson 15","shortMessageHtmlLink":"Update README.md with summary for lesson 15"}},{"before":"4f240f00c3b7cd19a260c3b92ea3b98439713349","after":"f1e9f8ba0a4d752e5ed0b708c058207ecfb434d5","ref":"refs/heads/main","pushedAt":"2024-02-18T19:35:02.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Enhance code coverage for C# Library class with unit tests\n\nImproved code coverage for the C# Library class by adding comprehensive unit tests, ensuring robustness and reliability of the library management system.\n\nThe Library class manages a collection of books and provides methods for adding, checking out, returning, and retrieving all books. Unit tests were written in the LibraryTests class to thoroughly validate the functionality of these methods under various conditions.\n\nThis commit strengthens the test suite, covering edge cases such as adding new books, checking out and returning books, and handling scenarios where books do not exist or are already checked out. The enhanced code coverage ensures the integrity of the Library class, promoting quality assurance in the library management system.","shortMessageHtmlLink":"feat: Enhance code coverage for C# Library class with unit tests"}},{"before":"969a7baf82f893ec807a0f407187ac5baa144f3d","after":"4f240f00c3b7cd19a260c3b92ea3b98439713349","ref":"refs/heads/main","pushedAt":"2024-02-15T06:27:14.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md with link for section 14","shortMessageHtmlLink":"Update README.md with link for section 14"}},{"before":"bae62a5280fb2ad3b2c1300048c6b5f9cc38d5b7","after":"969a7baf82f893ec807a0f407187ac5baa144f3d","ref":"refs/heads/main","pushedAt":"2024-02-15T06:25:46.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md with summary for section 14","shortMessageHtmlLink":"Update README.md with summary for section 14"}},{"before":"296ffbdd34194bdbda192a4ebfc18a263fc9d713","after":"bae62a5280fb2ad3b2c1300048c6b5f9cc38d5b7","ref":"refs/heads/main","pushedAt":"2024-02-15T06:22:43.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add solution","shortMessageHtmlLink":"feat: Add solution"}},{"before":"eed8391b5ff5bab7dd7a8207d7e9ef14f0e0fb13","after":"296ffbdd34194bdbda192a4ebfc18a263fc9d713","ref":"refs/heads/main","pushedAt":"2024-02-11T06:43:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md with link for lesson 13","shortMessageHtmlLink":"Update README.md with link for lesson 13"}},{"before":"8aff4d9bc9580d3670826978d497c9b4f84b9faa","after":"eed8391b5ff5bab7dd7a8207d7e9ef14f0e0fb13","ref":"refs/heads/main","pushedAt":"2024-02-11T06:42:49.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md with summary for lesson 13","shortMessageHtmlLink":"Update README.md with summary for lesson 13"}},{"before":"b4b0a8cbcededc16b4f496c8cfb7f75e0e66cbe7","after":"8aff4d9bc9580d3670826978d497c9b4f84b9faa","ref":"refs/heads/main","pushedAt":"2024-02-11T06:37:31.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add unit tests for ItemService class\n\nEach test case provides comprehensive coverage of the ItemService's functionality, ensuring the reliability and correctness of the service methods under different conditions.","shortMessageHtmlLink":"feat: Add unit tests for ItemService class"}},{"before":"ce8ee9a685eb30419ba793f6871fa281ff331a0e","after":"b4b0a8cbcededc16b4f496c8cfb7f75e0e66cbe7","ref":"refs/heads/main","pushedAt":"2024-02-11T06:33:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add unit tests for GreetingProvider class\n\nAdded unit tests to ensure the proper functionality of the GreetingProvider class in the GetGreeting namespace. The tests cover various scenarios based on the current time to verify that the GetGreeting method returns the correct greeting message according to the time of day. Utilized Moq framework to mock the ITimeProvider interface, allowing precise control over the current time during testing. Each test case provides specific input times and asserts that the expected greeting message is returned. Additionally, parameterized tests were implemented using NUnit's TestCase attribute to streamline testing for multiple time scenarios, ensuring comprehensive coverage of the GreetingProvider's behavior.","shortMessageHtmlLink":"feat: Add unit tests for GreetingProvider class"}},{"before":"28ffc41f5734dbf178e3c95c763a90467b9dd295","after":"ce8ee9a685eb30419ba793f6871fa281ff331a0e","ref":"refs/heads/main","pushedAt":"2024-02-08T06:38:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md with link for lesson 12","shortMessageHtmlLink":"Update README.md with link for lesson 12"}},{"before":"cb56dd9aa5d03752e80ba650afb031d5865ba31a","after":"28ffc41f5734dbf178e3c95c763a90467b9dd295","ref":"refs/heads/main","pushedAt":"2024-02-08T06:37:07.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md with summary for lesson 12","shortMessageHtmlLink":"Update README.md with summary for lesson 12"}},{"before":"b2f88548ef067f966a42d309423329615af5f45d","after":"cb56dd9aa5d03752e80ba650afb031d5865ba31a","ref":"refs/heads/main","pushedAt":"2024-02-08T06:33:35.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add solution","shortMessageHtmlLink":"feat: Add solution"}},{"before":"201bc4f512abc94aafbb7bf4634ad80225252e19","after":"b2f88548ef067f966a42d309423329615af5f45d","ref":"refs/heads/main","pushedAt":"2024-02-07T18:31:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md with link for lesson 11","shortMessageHtmlLink":"Update README.md with link for lesson 11"}},{"before":"147048f2fb5464051bcdfd3e7104ee1f94365048","after":"201bc4f512abc94aafbb7bf4634ad80225252e19","ref":"refs/heads/main","pushedAt":"2024-02-07T18:30:30.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md with summary for section 11","shortMessageHtmlLink":"Update README.md with summary for section 11"}},{"before":"a4f9df4deb3a396ea5bf34109d5c6be44972f17a","after":"147048f2fb5464051bcdfd3e7104ee1f94365048","ref":"refs/heads/main","pushedAt":"2024-02-07T18:26:11.000Z","pushType":"push","commitsCount":3,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"feat: Add solution","shortMessageHtmlLink":"feat: Add solution"}},{"before":"1de21dcb9e4d1dd88f0efb3dbf319233f99fe5f3","after":"a4f9df4deb3a396ea5bf34109d5c6be44972f17a","ref":"refs/heads/main","pushedAt":"2024-02-04T18:50:50.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md with link for lesson 10","shortMessageHtmlLink":"Update README.md with link for lesson 10"}},{"before":"c1b517078386612d133e61eaeeefac4e3fdbdf3b","after":"1de21dcb9e4d1dd88f0efb3dbf319233f99fe5f3","ref":"refs/heads/main","pushedAt":"2024-02-04T18:49:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SimeonSavov","name":"simeonsavov","path":"/SimeonSavov","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/132813942?s=80&v=4"},"commit":{"message":"Update README.md","shortMessageHtmlLink":"Update README.md"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"startCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMy0wMlQxMzozNTo1OS4wMDAwMDBazwAAAAQKhk3F","endCursor":"Y3Vyc29yOnYyOpK7MjAyNC0wMi0wNFQxODo0OTo1My4wMDAwMDBazwAAAAPxphj0"}},"title":"Activity · SimeonSavov/Back-End-Basics"}