{"id":19186825,"url":"https://github.com/donydchen/agenda","last_synced_at":"2026-05-01T03:38:36.572Z","repository":{"id":95783530,"uuid":"58138327","full_name":"donydchen/Agenda","owner":"donydchen","description":"A simple cpp project for freshman in SS of SYSU.","archived":false,"fork":false,"pushed_at":"2017-05-26T16:54:49.000Z","size":2238,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-31T14:18:57.453Z","etag":null,"topics":["agenda","cpp11","qt5","sqlite3","sysu"],"latest_commit_sha":null,"homepage":null,"language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/donydchen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-05-05T14:49:55.000Z","updated_at":"2023-09-25T00:46:47.000Z","dependencies_parsed_at":"2023-06-14T04:45:55.837Z","dependency_job_id":null,"html_url":"https://github.com/donydchen/Agenda","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/donydchen/Agenda","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/donydchen%2FAgenda","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/donydchen%2FAgenda/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/donydchen%2FAgenda/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/donydchen%2FAgenda/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/donydchen","download_url":"https://codeload.github.com/donydchen/Agenda/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/donydchen%2FAgenda/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32484352,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-30T13:12:12.517Z","status":"online","status_checked_at":"2026-05-01T02:00:05.856Z","response_time":64,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["agenda","cpp11","qt5","sqlite3","sysu"],"created_at":"2024-11-09T11:16:50.224Z","updated_at":"2026-05-01T03:38:36.565Z","avatar_url":"https://github.com/donydchen.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"## IMPLEMENT CODES for SYSU SS TRNG 2014 - Agenda using Qt\n\nA simple **C\\+\\+** project for practice, it contains most of the object oriented programming features, such as encapsulation, inheritance, polymorphism, etc. Besides, **SQLite3** and **Qt5** are added, which could help you learn basic database operations and desktop application development. Have Fun!!\n\n![icon](mkpkg/others/icon.png)\n\n### Features\n\nAgenda is a simple app that can help you manage your daily life. It includes the following useful features:\n\n- [x] User register, delete, login and logout\n- [x] Storage selection: JSON / SQLite\n- [x] List all users, meetings, sponsor meetings and participator meetings\n- [x] Create meeting\n- [x] Delete meeting by title, all meetings\n- [x] Query meeting by title or by time interval\n- [ ] Update meeting information\n- [ ] Desktop notification\n\n### Screenshots\n\n**Terminal version Agenda**\n\n![](pic/1.png)     \n![](pic/2.png)     \n\n**Qt5 version AgendaQt**\n\n![login](pic/3.png)     \nUser sign in page\n\n![list_all_meeting](pic/4.png)      \nList all Meetings\n\n![create_meeting](pic/5.png)     \nCreate a Meeting\n\n### System Design\n\n![three_tier](doc/Three_Tier.png)    \nThree Tier Architecture \n\n![class_diagram](doc/Class_Diagram.png)    \nSystem Class Diagram \n\nFor more detail of project Agenda's design, Check out the **report** provided in `doc/Agenda_Report.pdf`.(*Sorry but it is Chinese only*)\n\n### Install, Run and Uninstall\n\n**Install**     \nA 64bits debian package is provided in the project's [releases](https://github.com/chenyvehtung/Agenda/releases) page. Check it out and download newest package `agendaqt_x.x.x_amd64.deb`. Double click it or  `cd` to where it locates and run the folllowing command\n\n```sh\nsudo dpkg -i agendaqt*.deb\nsudo apt -f install\n```\n**Run**     \n\n* To run Qt version AgendaQt, type `AgendaQt` in terminal or find it in your system applications and click it.\n* To run terminal version Agenda, type `Agenda` in terminal.\n\n**Uninstall**    \n\nTo remove the application, run the following commands\n\n```sh\nsudo dpkg --purge agendaqt\nrm -rf ~/.miniagenda  # to remove app data\n```\n\n### Build\n\n**Setup Dependencies**    \nThis project is bulit with **sqlite3** and **Qt5**, so make sure you have set up the dependencies before trying to build it.     \nFor Ubuntu based system, you could use the following command to install sqlite3.\n\n```sh\nsudo apt install sqlite3 libsqlite3-dev\n```\n\nCheck out Qt5's [Homepage](https://www.qt.io/developers/) to find out how to install it.     \n\n**Make**     \nIf you are using [Qt Creator](https://www.qt.io/ide/), I strongly recommend you to import this project to it through file `Agenda.pro`, and then you should be able to build and run the project in it.     \n\nIf you want to build it in terminal, export your qt5 path to PATH and then use qmake. For example,\n\n```sh\nexport PATH=/opt/Qt5.7.0/5.7/gcc_64/bin:$PATH\nqmake Agenda.pro -r -spec linux-g++\nmake\n```\n\n### Debian Package\n\nA debian package create script is provided in `mkpkg/mkpkg.sh`, [linuxdeployqt](https://github.com/probonopd/linuxdeployqt) is used in order to make the application self-contained.      \nTo build new package, you are supposed to compile Agenda and AgendaQt first, and then copy the binary files `Agenda` and `AgendaQt` to subfolder `mkpkg`, `cd` to `mkpkg/` and run the following commands.\n\n```sh\nbash mkpkg.sh\n```\n\nWait for a few seconds, and you could see a package named `agendaqt_x.x.x_amd64.deb` in `mkpkg/`.\n\n### Update History\n\n* **May 24th, 2017:** Add sqlite3 back end in order to adopt [Polymorphism](https://en.wikipedia.org/wiki/Polymorphism_(computer_science)) and [Inheritance](https://en.wikipedia.org/wiki/Inheritance_(object-oriented_programming)) features to this project; Rearrange code structure; Fine tune UI.\n* **Oct. 1st, 2016:** Add Qt5 front end, the original terminal based version was moved to subfolder `backend/`.\n* **May 5th, 2016:** First commit.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdonydchen%2Fagenda","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdonydchen%2Fagenda","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdonydchen%2Fagenda/lists"}