{"id":15136861,"url":"https://github.com/helleb0re/bookypedia","last_synced_at":"2026-02-07T19:04:00.408Z","repository":{"id":186751645,"uuid":"675690073","full_name":"helleb0re/bookypedia","owner":"helleb0re","description":"The database of books and authors has been written in C++ with Postgres","archived":false,"fork":false,"pushed_at":"2023-08-07T13:54:40.000Z","size":21,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-09T06:07:21.300Z","etag":null,"topics":["boost","conan","cpp","cpp20","libpqxx","postgres","postgresql"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/helleb0re.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2023-08-07T13:53:05.000Z","updated_at":"2023-08-07T13:56:43.000Z","dependencies_parsed_at":"2023-08-07T15:28:57.160Z","dependency_job_id":null,"html_url":"https://github.com/helleb0re/bookypedia","commit_stats":null,"previous_names":["helleb0re/bookypedia"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/helleb0re/bookypedia","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helleb0re%2Fbookypedia","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helleb0re%2Fbookypedia/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helleb0re%2Fbookypedia/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helleb0re%2Fbookypedia/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/helleb0re","download_url":"https://codeload.github.com/helleb0re/bookypedia/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/helleb0re%2Fbookypedia/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29204985,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-07T17:44:10.191Z","status":"ssl_error","status_checked_at":"2026-02-07T17:44:07.936Z","response_time":63,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"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":["boost","conan","cpp","cpp20","libpqxx","postgres","postgresql"],"created_at":"2024-09-26T06:41:38.401Z","updated_at":"2026-02-07T19:04:00.389Z","avatar_url":"https://github.com/helleb0re.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# **Bookypedia**\n\nBookypedia — консольная программа, которая позволяет хранить информацию о книгах в БД Postgres. В программе реализована поддержка трех таблиц: Авторы, Книги, Теги. В качестве SQL-клиента используется библиотека libpqxx. Манипулирование данными происходит с помощью предопределенных команд.\n\n## **Команды**\n\n1. ***AddAuthor***\n\nКоманда `AddAuthor \u003cname\u003e` добавляет в БД автора книги с указанным именем. Пример:\n```\nAddAuthor Joanne Rowling\nAddAuthor Antoine de Saint-Exupery\n```\n\n2. ***ShowAuthors***\n\nКоманда `ShowAuthors` позволяет вывести нумерованный список авторов, отсортированный по алфавиту. Пример:\n\n```\nAddAuthor Joanne Rowling\nAddAuthor Jack London\nShowAuthors\n1. Jack London\n2. Joanne Rowling \n```\n\n3. ***DeleteAuthor***\n\nКоманда `DeleteAuthor \u003cname\u003e or empty` Удаляет выбранного автора, все его книги и связанные с этими книгами теги. Пример:\n```\nDeleteAuthor\n1 Jack London\n2 Joanne Rowling\nEnter author # or empty line to cancel\n1\nShowAuthors\n1 Joanne Rowling \n```\n\n```\nShowAuthors\n1 Jack London\n2 Joanne Rowling\nDeleteAuthor Jack London\nShowAuthors\n1 Joanne Rowling \n```\n\n4. ***EditAuthor***\n\nКоманда `EditAuthor \u003cname\u003e or empty` позволяет редактировать указанного автора. Пример:\n```\nEditAuthor\n1 Jack London\n2 Joanne Rowling\nEnter author # or empty line to cancel\n2\nEnter new name:\nJ. K. Rowling\nEditAuthor Jack London\nEnter new name:\nJohn Griffith Chaney\nShowAuthors\n1 J. K. Rowling\n2 John Griffith Chaney\n```\n\n5. ***AddBook***\n\nКоманда `AddBook \u003cpub_year\u003e \u003ctitle\u003e` добавляет в БД книгу с указанным названием и годом публикации. Пример:\n```\nAddBook 1906 White Fang\nEnter author name or empty line to select from list:\nJack London\nNo author found. Do you want to add Jack London (y/n)?\ny\nEnter tags (comma separated):\nadventure, dog, gold rush, dogs \n```\n\n6. ***ShowBooks***\n\nКоманда `ShowBooks` позволяет вывести нумерованный список книг, отсортированный по названию, по имени автора, по возрастанию года публикации. Пример:\n```\nShowBooks\n1 The Cloud Atlas by David Mitchell, 2004\n2 The Cloud Atlas by Liam Callanan, 2004\n3 White Fang by Jack London, 1906 \n```\n\n7. ***ShowAuthorBooks***\n\nКоманда `ShowAuthorBooks` выводит нумерованный список книг выбранного автора с годами их выпуска, отсортированный по году публикации и по названию. Пример:\n\n```\nShowAuthorBooks\nSelect author:\n1 Boris Akunin\n2 Jack London\n3 Joanne Rowling\n4 Herman Melville\nEnter author # or empty line to cancel\n1\n1 Azazelle, 1998\n2 Murder on the Leviathan, 1998\n3 The Turkish Gambit, 1998\n4 She Lover of Death, 200\n```\n\n8. ***ShowBook***\n\nКоманда `ShowBook \u003ctitle\u003e or empty` выводит подробную информацию о книге: автор, название, год публикации, теги, если есть. Пример:\n```\nShowBooks\n1 The Cloud Atlas by David Mitchell, 2004\n2 The Cloud Atlas by Liam Callanan, 2004\n3 White Fang by Jack London, 1906\nShowBook White Fang\nTitle: White Fang\nAuthor: Jack London\nPublication year: 1906\nTags: adventure, dog, gold rush\nShowBook The Cloud Atlas\n1 The Cloud Atlas by David Mitchell, 2004\n2 The Cloud Atlas by Liam Callanan, 2004\nEnter the book # or empty line to cancel:\n2\nTitle: The Cloud Atlas\nAuthor: Liam Callanan\nPublication year: 2004\nShowBook\n1 The Cloud Atlas by David Mitchell, 2004\n2 The Cloud Atlas by Liam Callanan, 2004\n3 White Fang by Jack London, 1906\nEnter the book # or empty line to cancel:\n3\nTitle: White Fang\nAuthor: Jack London\nPublication year: 1906\nTags: adventure, dog, gold rush\n```\n\n9. ***DeleteBook***\n\nКоманда `DeleteBook \u003ctitle\u003e or empty` позволяет удалить книгу, указав её название напрямую или выбрав из списка. Пример:\n```\nShowBooks\n1 The Cloud Atlas by David Mitchell, 2004\n2 The Cloud Atlas by Liam Callanan, 2004\n3 White Fang by Jack London, 1906\nDeleteBook The Cloud Atlas\n1 The Cloud Atlas by David Mitchell, 2004\n2 The Cloud Atlas by Liam Callanan, 2004\nEnter the book # or empty line to cancel:\n2\nShowBooks\n1 The Cloud Atlas by David Mitchell, 2004\n2 White Fang by Jack London, 1906\nDeleteBook\n1 The Cloud Atlas by David Mitchell, 2004\n2 White Fang by Jack London, 1906\nEnter the book # or empty line to cancel:\n1\n```\n\n10. ***EditBook***\n\nКоманда `EditBook \u003ctitle\u003e or empty` позволяет отредактировать книгу, указав её название напрямую или выбрав из списка. Пример:\n```\nShowBooks\n1 The Cloud Atlas by David Mitchell, 2004\n2 The Cloud Atlas by Liam Callanan, 2004\n3 White Fan by Jack London, 1906\nEditBook White Fan\nEnter new title or empty line to use the current one (White Fan):\nWhite Fang\nEnter publication year or empty line to use the current one (1906):\n\nEnter tags (current tags: adventure, cat, gold rush):\nadventure, gold rush, dog\nShowBook White Fang\nTitle: White Fang\nAuthor: Jack London\nPublication year: 1096\nTags: adventure, dog, gold rush\nEditBook\n1 The Cloud Atlas by David Mitchell, 2004\n2 The Cloud Atlas by Liam Callanan, 2004\n3 White Fang by Jack London, 1906\nEnter the book # or empty line to cancel:\n3\nEnter new title or empty line to use the current one (White Fang):\n\nEnter publication year or empty line to use the current one (1906):\n\nEnter tags (current tags: adventure, dog, gold rush):\nadventure, gold rush, dog, wolf\n```\n\n## **Запуск**\nПри запуске программа должна считать URL базы данных из переменной окружения BOOKYPEDIA_DB_URL.\n```bash\nexport BOOKYPEDIA_DB_URL=postgres://user:pass@host:port/dbname\n```\n\n## **Зависимости**\n1. [С++20](https://en.cppreference.com/w/cpp/20)\n2. [PostgreSQL](https://www.postgresql.org/) 15+ version requires\n3. [libpqxx](https://github.com/jtv/libpqxx)\n4. [Boost](https://www.boost.org/users/history/version_1_78_0.html) 1.78+ version requires\n5. [GCC](https://gcc.gnu.org/) 11+ version requires\n6. [CMake](https://cmake.org) 3.11 version requires\n7. [Conan](https://conan.io/) 1.* version reqires\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelleb0re%2Fbookypedia","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhelleb0re%2Fbookypedia","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhelleb0re%2Fbookypedia/lists"}