{"id":18264250,"url":"https://github.com/ct-open-source/micro-webservice","last_synced_at":"2025-04-04T20:31:30.398Z","repository":{"id":97383058,"uuid":"595481453","full_name":"ct-Open-Source/micro-webservice","owner":"ct-Open-Source","description":"Micro-Webservice, implementiert mit Boost.Beast","archived":false,"fork":false,"pushed_at":"2023-05-04T07:32:16.000Z","size":103,"stargazers_count":7,"open_issues_count":0,"forks_count":5,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-03-20T19:07:53.485Z","etag":null,"topics":["beast","boost","cplusplus","educational-project","webservice"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ct-Open-Source.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2023-01-31T06:56:43.000Z","updated_at":"2023-08-14T18:59:03.000Z","dependencies_parsed_at":"2024-01-12T10:26:43.203Z","dependency_job_id":"9322a78f-437c-4a9a-86a9-3466156f8d97","html_url":"https://github.com/ct-Open-Source/micro-webservice","commit_stats":{"total_commits":21,"total_committers":2,"mean_commits":10.5,"dds":0.2857142857142857,"last_synced_commit":"07e2685b013eedf01869189697a3494f567559e8"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ct-Open-Source%2Fmicro-webservice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ct-Open-Source%2Fmicro-webservice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ct-Open-Source%2Fmicro-webservice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ct-Open-Source%2Fmicro-webservice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ct-Open-Source","download_url":"https://codeload.github.com/ct-Open-Source/micro-webservice/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247246434,"owners_count":20907801,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["beast","boost","cplusplus","educational-project","webservice"],"created_at":"2024-11-05T11:14:09.405Z","updated_at":"2025-04-04T20:31:29.245Z","avatar_url":"https://github.com/ct-Open-Source.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# c’t-Demo: Micro-Webservice\n\n## Für c’t-Leser\n\nDieses Repository enthält den Quellcode für den in c’t 7–9/2023 entwickelten Webservice. Um es auf Ihren Rechner zu bekommen, müssen Sie es klonen:\n\n```\ngit clone https://github.com/ct-Open-Source/micro-webservice.git\ncd micro-webservice\n```\n\nDer Code für den [1. Teil](https://www.heise.de/select/ct/2023/7/2303016374942185339) befindet sich im Branch „part1“. Sie checken ihn aus mit\n\n```\ngit checkout part1\n```\n\nDer Code für den [2. Teil](https://www.heise.de/select/ct/2023/8/2303413085906187110) befindet sich im Branch „part2“. Sie checken ihn aus mit\n\n```\ngit checkout part2\n```\n\nDer Code für den [3. Teil](https://www.heise.de/select/ct/2023/9/2305915484770006026) befindet sich im Branch „part3“. Sie checken ihn aus mit\n\n```\ngit checkout part3\n```\n\n**Vor dem Ausprobieren von Teil 3 unter Windows oder Windows Subsystem for Linux bitte [Issue #4](https://github.com/ct-Open-Source/micro-webservice/issues/4) beachten!**\n\n## Systemvoraussetzungen\n\nDer Webservice benötigt das [Boost](https://www.boost.org/)-Framework, das Sie wie folgt installieren können.\n\n### Ubuntu\n\n```\nsudo apt install libboost-dev\n```\n\nGgf. sind noch die Pakete `libblkid-dev`, `e2fslibs-dev`, `libboost-all-dev` und `libaudit-dev` zu installieren.\n\n### macOS 13 Ventura\n\n```\nbrew install libboost-dev\n```\n\n### WSL/Windows 11\n\n```\nmkdir -p ~/tmp\ncd ~/tmp\nwget https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/boost_1_82_0.tar.gz\ncd boost_1_82_0\n./bootstrap.sh\n./b2 cxxflags=-std=c++17\nmkdir -p ~/dev\n./b2 install --prefix=/home/\u003cyouruserid\u003e/dev\n```\n\n### Windows 11\n\nWindows-Nutzer müssen die benötigten Bibliotheken Boost und GMP aus dem Quellcode übersetzen.\n\n#### Boost\n\n- [Quellcode](https://boostorg.jfrog.io/artifactory/main/release/1.82.0/source/) der aktuellen Boost-Version (derzeit 1.82.0) herunterladen und entpacken\n- Im Visual Studio Developer Command Prompt in das entpackte Verzeichnis wechseln und dann eingeben:\n\n```\nbootstrap\nmd %HOMEPATH%\\dev\nb2 cxxflags=-std=c++17\nb2 install --prefix=%HOMEPATH%\\dev\n```\n\n#### GMP\n\n```\ngit clone https://github.com/gx/gmp.git\ncd gmp\nmkdir build\ncd build\ncmake -DCMAKE_INSTALL_PREFIX=%HOMEPATH%\\dev ..\ncmake --build . --config Release --target ALL_BUILD\ncmake --build . --config Release --target RUN_TESTS\ncmake --build . --config Release --target INSTALL\ncd %HOMEPATH%\\dev\\gmp\\lib\ncopy libgmp-13.lib gmp.lib\ncopy libgmpxx-9.lib gmpxx.lib\n```\n\n## Webservice kompilieren\n\n### macOS, Linux\n\nZum Erzeugen der Build-Dateien kommt [CMake](https://cmake.org/) zum Einsatz:\n\n```\nmkdir -p build\ncd build\ncmake -DCMAKE_BUILD_TYPE=Release ..\n```\n\nWenn Sie statt eines Release ein Binary zum Debuggen erzeugen wollen, wählen Sie „Debug“ statt „Release“.\n\nFalls CMake die Boost-Bibliothek nicht finden kann, müssen Sie den Pfad (beispielsweise /opt/boost-1_81_0) dorthin in der Umgebungsvariable `BOOST_ROOT` angeben:\n\n```\nBOOST_ROOT=/opt/boost-1_81_0\n```\n\nNun können Sie den Compiler anwerfen:\n\n```\ncmake --build .\n```\n\nEs entsteht das Binary `micro-webservice`, das Sie mit\n\n```\n./micro-webservice\n```\n\naufrufen können.\n\n### WSL/Windows 11\n\n```\ncd micro-webservice\nmkdir -p build\ncd build\nBOOST_ROOT=~/dev/boost_1_82_0 cmake -DCMAKE_BUILD_TYPE=Release ..\n```\n\n\n### Windows\n\n```\ncd micro-webservice\nmd build\ncd build\nset GMP_ROOT=%HOMEPATH%\\dev\\gmp\nset BOOST_ROOT=%HOMEPATH%\\dev\\boost_1_82_0\ncmake --fresh ..\ncmake --build . --config Release\n```\n\nBevor Sie die im Verzeichnis Release entstandene EXE-Datei `micro-webservice.exe` aufrufen können, müssen Sie noch die DLL der GMP-Bibliothek dorthin kopieren:\n\n```\ncopy %HOMEPATH%\\dev\\gmp\\bin\\libgmp-13.dll Release\n```\n\n_Copyright ©️ 2023 [Oliver Lau](mailto:ola@ct.de), [Heise](https://www.heise.de/) Medien GmbH \u0026 Co. KG_\n\n--- \n\n### Nutzungshinweise\n\nDiese Software wurde zu Lehr- und Demonstrationszwecken geschaffen und ist nicht für den produktiven Einsatz vorgesehen. Heise Medien und der Autor haften daher nicht für Schäden, die aus der Nutzung der Software entstehen, und übernehmen keine Gewähr für ihre Vollständigkeit, Fehlerfreiheit und Eignung für einen bestimmten Zweck.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fct-open-source%2Fmicro-webservice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fct-open-source%2Fmicro-webservice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fct-open-source%2Fmicro-webservice/lists"}