{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":41512,"defaultBranch":"main","name":"CUH405CMD2526MARJUL-Class2-Team6","ownerLogin":"yih","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2026-06-07T09:27:47.000Z","ownerAvatar":"https://github.coventry.ac.uk/avatars/u/8760","public":true,"private":false,"isOrgOwned":false},"refInfo":{"name":"","listCacheKey":"v0:1780826477.0","currentOid":""},"activityList":{"items":[{"before":"0dbaaf5b85e2842dc7f00bbe1f4bdbf2856074f8","after":"3500b59850d3cd89654582c3381d0664f114d57f","ref":"refs/heads/main","pushedAt":"2026-06-18T07:27:25.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maz35","name":"Zexuan Ma (maz35)","path":"/maz35","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9124?s=80"},"commit":{"message":"Hardware_test_framework_update","shortMessageHtmlLink":"Hardware_test_framework_update"}},{"before":"e82b23d70cf537e7d46e03ecf554cbc6bdccbecd","after":"0dbaaf5b85e2842dc7f00bbe1f4bdbf2856074f8","ref":"refs/heads/main","pushedAt":"2026-06-18T07:23:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maz35","name":"Zexuan Ma (maz35)","path":"/maz35","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9124?s=80"},"commit":{"message":"Hardware_test_framework_updateement","shortMessageHtmlLink":"Hardware_test_framework_updateement"}},{"before":"caac0f77dcb4c3029ba2931ec5c8e251d5e906ed","after":"e82b23d70cf537e7d46e03ecf554cbc6bdccbecd","ref":"refs/heads/main","pushedAt":"2026-06-18T06:56:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maz35","name":"Zexuan Ma (maz35)","path":"/maz35","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9124?s=80"},"commit":{"message":"readme_updating","shortMessageHtmlLink":"readme_updating"}},{"before":"7e8fbcb99f0d347960da538f584e04b40c32ceea","after":"caac0f77dcb4c3029ba2931ec5c8e251d5e906ed","ref":"refs/heads/main","pushedAt":"2026-06-18T06:38:04.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maz35","name":"Zexuan Ma (maz35)","path":"/maz35","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9124?s=80"},"commit":{"message":"Hardware-test-framework\n\nTo guarantee cross-platform adaptability and comprehensive component decoupling, I (Zexuan Ma) engineered an automated verification framework utilizing Dependency Injection and Polymorphism. The architecture encapsulates disparate hardware drivers via a unified BaseTester contract, adhering to the Open/Closed Principle (OCP).","shortMessageHtmlLink":"Hardware-test-framework"}},{"before":"b5452ee45f8bdb30630fad2d6aa8ab763761ae8e","after":"7e8fbcb99f0d347960da538f584e04b40c32ceea","ref":"refs/heads/main","pushedAt":"2026-06-18T05:54:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yey29","name":"Yuanjie Ye (yey29)","path":"/yey29","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/8761?s=80"},"commit":{"message":"Final Version\n\nUpdate sequence diagram and relevant pseudocode.","shortMessageHtmlLink":"Final Version"}},{"before":"686d3693cf3d564a95a399b4f3717e71b9944fe8","after":"b5452ee45f8bdb30630fad2d6aa8ab763761ae8e","ref":"refs/heads/main","pushedAt":"2026-06-17T19:53:38.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kongj10","name":"Jiatong Kong (kongj10)","path":"/kongj10","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9125?s=80"},"commit":{"message":"Final Version","shortMessageHtmlLink":"Final Version"}},{"before":"e64c4b5d133a1beaf48cf01df36052375b812587","after":"686d3693cf3d564a95a399b4f3717e71b9944fe8","ref":"refs/heads/main","pushedAt":"2026-06-17T08:05:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kongj10","name":"Jiatong Kong (kongj10)","path":"/kongj10","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9125?s=80"},"commit":{"message":"Final Version","shortMessageHtmlLink":"Final Version"}},{"before":"5b48770b06c551bfd19996158ef501a3af349878","after":"e64c4b5d133a1beaf48cf01df36052375b812587","ref":"refs/heads/main","pushedAt":"2026-06-15T20:08:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yih","name":"Huanran Yi (yih)","path":"/yih","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/8760?s=80"},"commit":{"message":"minor adjustment","shortMessageHtmlLink":"minor adjustment"}},{"before":"e09f193955ce7492a63836c3ad5e901af53c569e","after":"5b48770b06c551bfd19996158ef501a3af349878","ref":"refs/heads/main","pushedAt":"2026-06-15T20:02:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yih","name":"Huanran Yi (yih)","path":"/yih","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/8760?s=80"},"commit":{"message":"final architecture diagram, final UML class/state diagrams, and their corresponding pseudocode files\n\n1. Upload three final diagrams: MQTT architecture, UML class diagram, UML state diagram (file names prefixed with \"Final\").\n2. Upload three corresponding pseudocode files in Markdown format.\n3. Previous versions remain unchanged.\n4. These final artefacts reflect the implemented system and are ready for the project report.","shortMessageHtmlLink":"final architecture diagram, final UML class/state diagrams, and their…"}},{"before":"b473319b3b63b4b2e8ca9a41988dbcdf88502855","after":"e09f193955ce7492a63836c3ad5e901af53c569e","ref":"refs/heads/main","pushedAt":"2026-06-14T13:18:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kongj10","name":"Jiatong Kong (kongj10)","path":"/kongj10","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9125?s=80"},"commit":{"message":"Webpage structure upgrade\n\n1. The web page structure has been modified, and now the UI is more modern and attractive.\n2. The README.md has been rewritten.","shortMessageHtmlLink":"Webpage structure upgrade"}},{"before":"d6636d1f9b36629476b6dc9dad17fe4e4ec1af0a","after":"b473319b3b63b4b2e8ca9a41988dbcdf88502855","ref":"refs/heads/main","pushedAt":"2026-06-14T08:04:33.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yih","name":"Huanran Yi (yih)","path":"/yih","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/8760?s=80"},"commit":{"message":"Data encryption\n\n1. Now, all the sensor and camera information is encrypted before being transmitted to the broker, and it is automatically decrypted upon reception.\n2. A new script named verify_encryption.py has been added to verify that the data has been encrypted.","shortMessageHtmlLink":"Data encryption"}},{"before":"3e36ddaf852991b21e036d92a4dbd8201786f062","after":"d6636d1f9b36629476b6dc9dad17fe4e4ec1af0a","ref":"refs/heads/main","pushedAt":"2026-06-14T08:02:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yih","name":"Huanran Yi (yih)","path":"/yih","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/8760?s=80"},"commit":{"message":"DELETE","shortMessageHtmlLink":"DELETE"}},{"before":"6f1fe5433fbe9e2a032f43ed4c00af40e24e9ff4","after":"3e36ddaf852991b21e036d92a4dbd8201786f062","ref":"refs/heads/main","pushedAt":"2026-06-14T07:44:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yih","name":"Huanran Yi (yih)","path":"/yih","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/8760?s=80"},"commit":{"message":"Data encryption\n\n1. Now, all the sensor and camera information is encrypted before being transmitted to the broker, and it is automatically decrypted upon reception.\n2. A new script named verify_encryption.py has been added to verify that the data has been encrypted.","shortMessageHtmlLink":"Data encryption"}},{"before":"ef6fb8b4e90381616983c0cc0ed9945c3398f65d","after":"6f1fe5433fbe9e2a032f43ed4c00af40e24e9ff4","ref":"refs/heads/main","pushedAt":"2026-06-13T11:23:08.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kongj10","name":"Jiatong Kong (kongj10)","path":"/kongj10","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9125?s=80"},"commit":{"message":"Comprehensive upgrade\n\n1. Now, it can run normally on a laptop (with data only in demo mode).\n2. The web page editing is now more visually appealing.\n3. The issue of the camera not triggering alarms in the \"own pet\" mode has been fixed.\n4. The problem of a large number of sample points appearing in the historical graphs has been resolved.\n5. Now, pets can also be added in the demo mode. The pet theme in the demo mode now includes pet ID.\n6. More pet warning judgment conditions can now be edited in the front end.","shortMessageHtmlLink":"Comprehensive upgrade"}},{"before":"0c49c05e064e8031755384904ad4d0b30213cd96","after":"ef6fb8b4e90381616983c0cc0ed9945c3398f65d","ref":"refs/heads/main","pushedAt":"2026-06-13T11:06:40.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kongj10","name":"Jiatong Kong (kongj10)","path":"/kongj10","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9125?s=80"},"commit":{"message":"Implementation of hardware functions\n\n1. The system was connected with real sensors and cameras and successfully operated.\n2. A dedicated feature engine was added for the images of the \"own pet\" mode, and image similarity and frequency were introduced as conditions to determine whether the pet remained motionless for a long time consecutively.\n3. Previously, creating a new pet required restarting the publishing end to obtain data. Now, it will automatically scan.","shortMessageHtmlLink":"Implementation of hardware functions"}},{"before":"bd135f2e26f7f1439c3242ba3e75d2673664b2ae","after":"0c49c05e064e8031755384904ad4d0b30213cd96","ref":"refs/heads/main","pushedAt":"2026-06-12T15:11:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kongj10","name":"Jiatong Kong (kongj10)","path":"/kongj10","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9125?s=80"},"commit":{"message":"Dual mode\n\n1. The database has added a device table to store real devices.\n2. Currently, there are two systems in the system, with data sources being real and simulated respectively.\n3. A new pet list management function has been added. Different modes of pets are distinguished by type id. Data flow is distinguished by topic.\n4. Now, on the web page, instead of directly jumping to the dashboard, it is redirected to a page specifically for selecting the mode.","shortMessageHtmlLink":"Dual mode"}},{"before":"6716a0d6a1d4ecc83e97d59b8f601177aeee2e65","after":"bd135f2e26f7f1439c3242ba3e75d2673664b2ae","ref":"refs/heads/main","pushedAt":"2026-06-12T11:32:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yey29","name":"Yuanjie Ye (yey29)","path":"/yey29","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/8761?s=80"},"commit":{"message":"MQTT Pet Monitoring System\n\n1. The number of samples for the historical chart was reduced from 100 to 10 after the teacher's suggestion.\n2. The sensor simulator was previously separated, but the publishing end still directly used random. This issue has now been fixed.\n3. Now, the pet threshold can be modified on the front end.","shortMessageHtmlLink":"MQTT Pet Monitoring System"}},{"before":"af5583d945a009cb19fea695c03760d5e79a6bde","after":"6716a0d6a1d4ecc83e97d59b8f601177aeee2e65","ref":"refs/heads/main","pushedAt":"2026-06-12T11:06:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yey29","name":"Yuanjie Ye (yey29)","path":"/yey29","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/8761?s=80"},"commit":{"message":"Add details\n\n1. The number of samples for the historical chart was reduced from 100 to 10 after the teacher's suggestion.\n2. The sensor simulator was previously separated, but the publishing end still directly used random. This issue has now been fixed.\n3. Now, the pet threshold can be modified on the front end.","shortMessageHtmlLink":"Add details"}},{"before":"d4082ce187f85c32f6a8d010540cb9db2995de86","after":"af5583d945a009cb19fea695c03760d5e79a6bde","ref":"refs/heads/main","pushedAt":"2026-06-11T12:48:07.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"kongj10","name":"Jiatong Kong (kongj10)","path":"/kongj10","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9125?s=80"},"commit":{"message":"Management of multiple pets\n\n1. With the help of the database, this system can manage multiple pets simultaneously and make free selections.\n2. The pet-related topics have been modified, and the pet ID has been added to distinguish different data streams.","shortMessageHtmlLink":"Management of multiple pets"}},{"before":"bebb4c754cd65fb240cda799bf2aeff81781f1b0","after":"d4082ce187f85c32f6a8d010540cb9db2995de86","ref":"refs/heads/main","pushedAt":"2026-06-10T10:18:17.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maz35","name":"Zexuan Ma (maz35)","path":"/maz35","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9124?s=80"},"commit":{"message":"web progress","shortMessageHtmlLink":"web progress"}},{"before":"cd2761c20aaff1e6bb359a9f00228ac9c8c298aa","after":"bebb4c754cd65fb240cda799bf2aeff81781f1b0","ref":"refs/heads/main","pushedAt":"2026-06-10T08:46:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kongj10","name":"Jiatong Kong (kongj10)","path":"/kongj10","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9125?s=80"},"commit":{"message":"Function enhancement\n\n1. A new image display area has been added, and users can refresh the images immediately by pressing a button.\n2. A remote control module has been incorporated, including the feeder and air conditioner, which aligns with the project goals.","shortMessageHtmlLink":"Function enhancement"}},{"before":"3f201533cf8baa390ddade58713f0986310b2363","after":"cd2761c20aaff1e6bb359a9f00228ac9c8c298aa","ref":"refs/heads/main","pushedAt":"2026-06-09T13:40:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kongj10","name":"Jiatong Kong (kongj10)","path":"/kongj10","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9125?s=80"},"commit":{"message":"Initial version reset\n\n1. The previous version was overly chaotic and failed to establish a solid foundation framework and consider the feasibility. Now, we are resetting and starting with the basic functions.\n2. The previous version had too few functions. Now, we have added the camera publishing end and the front-end code.","shortMessageHtmlLink":"Initial version reset"}},{"before":"1d15f70bc01dc30af40ea368919931b4b57156af","after":"3f201533cf8baa390ddade58713f0986310b2363","ref":"refs/heads/main","pushedAt":"2026-06-09T13:37:27.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kongj10","name":"Jiatong Kong (kongj10)","path":"/kongj10","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9125?s=80"},"commit":{"message":"Initial structure\n\nJust came up with a framework based solely on the target, but it has not been actually implemented.","shortMessageHtmlLink":"Initial structure"}},{"before":"ac0e60743035224a03c361987ee551717ff44c35","after":"1d15f70bc01dc30af40ea368919931b4b57156af","ref":"refs/heads/main","pushedAt":"2026-06-09T13:01:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kongj10","name":"Jiatong Kong (kongj10)","path":"/kongj10","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9125?s=80"},"commit":{"message":"Initial version reset\n\n1. The previous version was overly chaotic and failed to establish a solid foundation framework and consider the feasibility. Now, we are resetting and starting with the basic functions.\n2. The previous version had too few functions. Now, we have added the camera publishing end and the front-end code.","shortMessageHtmlLink":"Initial version reset"}},{"before":"293788665aa4032a64f4db1803b1c9456851dc4e","after":"ac0e60743035224a03c361987ee551717ff44c35","ref":"refs/heads/main","pushedAt":"2026-06-09T12:49:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kongj10","name":"Jiatong Kong (kongj10)","path":"/kongj10","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9125?s=80"},"commit":{"message":"Initial structure\n\nJust came up with a framework based solely on the target, but it has not been actually implemented.","shortMessageHtmlLink":"Initial structure"}},{"before":"9685bb91ced5f51f9a1e634f60638a0a0907bed8","after":"293788665aa4032a64f4db1803b1c9456851dc4e","ref":"refs/heads/main","pushedAt":"2026-06-09T08:40:37.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yih","name":"Huanran Yi (yih)","path":"/yih","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/8760?s=80"},"commit":{"message":"Rename Files","shortMessageHtmlLink":"Rename Files"}},{"before":"e71d6494a2e2c9c989fb446b03738275c8924f1e","after":"9685bb91ced5f51f9a1e634f60638a0a0907bed8","ref":"refs/heads/main","pushedAt":"2026-06-09T08:34:53.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yih","name":"Huanran Yi (yih)","path":"/yih","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/8760?s=80"},"commit":{"message":"UML Class Diagram & UML State Diagram","shortMessageHtmlLink":"UML Class Diagram & UML State Diagram"}},{"before":"76d36715ff23a4fbea5a41051e724644877df55a","after":"e71d6494a2e2c9c989fb446b03738275c8924f1e","ref":"refs/heads/main","pushedAt":"2026-06-08T13:27:22.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yey29","name":"Yuanjie Ye (yey29)","path":"/yey29","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/8761?s=80"},"commit":{"message":"Led","shortMessageHtmlLink":"Led"}},{"before":"ca52b4bb78c2d4e9c44a2a256adaaaa81bf3d377","after":"76d36715ff23a4fbea5a41051e724644877df55a","ref":"refs/heads/main","pushedAt":"2026-06-08T13:22:28.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"yey29","name":"Yuanjie Ye (yey29)","path":"/yey29","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/8761?s=80"},"commit":{"message":"Sequence-diagram","shortMessageHtmlLink":"Sequence-diagram"}},{"before":"045ae1f35f16a810b9863777053e79c6b7c6c9b9","after":"ca52b4bb78c2d4e9c44a2a256adaaaa81bf3d377","ref":"refs/heads/main","pushedAt":"2026-06-08T09:23:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"maz35","name":"Zexuan Ma (maz35)","path":"/maz35","primaryAvatarUrl":"https://github.coventry.ac.uk/avatars/u/9124?s=80"},"commit":{"message":"pseudocode","shortMessageHtmlLink":"pseudocode"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks4ACAUoAA","startCursor":null,"endCursor":null}},"title":"Activity · yih/CUH405CMD2526MARJUL-Class2-Team6"}