{"id":17911767,"url":"https://github.com/comradeprogrammer/ds-sequencealignment","last_synced_at":"2025-04-03T06:44:09.236Z","repository":{"id":205069235,"uuid":"713321975","full_name":"ComradeProgrammer/DS-SequenceAlignment","owner":"ComradeProgrammer","description":"coderen voor het lab van de cursus \"Distributed System\"","archived":false,"fork":false,"pushed_at":"2023-12-16T13:01:08.000Z","size":19229,"stargazers_count":0,"open_issues_count":0,"forks_count":2,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-02-08T20:31:13.655Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/ComradeProgrammer.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-02T09:37:08.000Z","updated_at":"2023-11-27T13:58:03.000Z","dependencies_parsed_at":"2024-10-28T19:43:06.973Z","dependency_job_id":"ab35500e-4080-4e2e-84fa-33db92ce849a","html_url":"https://github.com/ComradeProgrammer/DS-SequenceAlignment","commit_stats":null,"previous_names":["comradeprogrammer/ds-sequencealignment"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComradeProgrammer%2FDS-SequenceAlignment","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComradeProgrammer%2FDS-SequenceAlignment/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComradeProgrammer%2FDS-SequenceAlignment/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ComradeProgrammer%2FDS-SequenceAlignment/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ComradeProgrammer","download_url":"https://codeload.github.com/ComradeProgrammer/DS-SequenceAlignment/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246952273,"owners_count":20859811,"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":[],"created_at":"2024-10-28T19:40:17.236Z","updated_at":"2025-04-03T06:44:09.216Z","avatar_url":"https://github.com/ComradeProgrammer.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"coderen voor het lab van de cursus \"Distributed System\"\n\n# For developers\n## Third-party frameworks and libraries\nSometimes you may want to know about third-party frameworks and libraries used in this project, and sometimes you **may** want to read the official docs or APIs in order to implement some features. Here are the introductions and links to them. When necessary, you can refer to the following materials:\n\nFor websocket server, we use crow framework. The official doc is here https://crowcpp.org/master/\n\nFor websocket client, we use websocketpp. The repo is https://github.com/zaphoyd/websocketpp and the official doc is https://www.zaphoyd.com/projects/websocketpp/\n\nFor json serialization, we use nlohmann::json. The repo (and official guide) is here https://github.com/nlohmann/json\n\nFor command line argument parsing, we use google gflag. The repo is https://github.com/gflags/gflags\n\nFor unittest, we use googletest. The repo is https://github.com/google/googletest and the official doc is https://google.github.io/googletest/\n\n\n## Installation guide \n### 1. Preparation\nYou need to have the following things installed\n- make\n- cmake\n- gcc/g++ or clang/clang++\n\n### 2. Install dependency libraryies\nThis project requires boost and asio (we don't need to link them because we only need their header-only part).\n\nFor macOS, run\n```\nbrew install asio\nbrew install boost\n```\n\nFor ubuntu, you can also use apt for these libraries.\n\n### 3. Fetch the code and update the submodule\n\nThere are 2 submodules included in this project, so after clone the repo you also need to fetch them。\n\n```\ngit clone --recursive git@github.com:ComradeProgrammer/DS-SequenceAlignment.git \n```\n\n### 4. Compile and run\nThere should be 3 executable binaries \n- master\n- slave\n- bmaster \n\nIn the project folder, run \n```\ncmake . -B build   \ncmake --build build -j32\n```\n`-j32 means use 32 parallel threads. You can modify this number according to the harware of your own computer`\n\nYou should be able to see the binaries generated in the build folder.\n\nJust run \n` ./build/master --port=8000` \n`./build/bmaster --port=8001 --master_uri=ws://localhost:8000/websocket`\n` ./build/slave --master_uri=ws://localhost:8000/websocket --backup_master_uri=ws://localhost:8001/websocket --node_id=slave1` \nto start them\n\n## 5. Unittest\nUse`./build/unittest` to run unittests.\n\n*You can also use `ctest --test-dir build`. We also support ctest in CMakeList.txt, but this is not recommended since you cannot see actual details of unit tests*\n\n## 6. debug\nwhen generating configuration, use this instead\n```\ncmake --build build -j32 -DCMAKE_BUILD_TYPE=Debug       \n```\n\nif you are mac os user,in order to have the core dumped when crash, every time you build, you also need run\n```\n/usr/libexec/PlistBuddy -c \"Add :com.apple.security.get-task-allow bool true\" segv.entitlements \ncodesign -s - -f --entitlements segv.entitlements ./build/unittest\nrm segv.entitlements \nulimit -c unlimited \n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomradeprogrammer%2Fds-sequencealignment","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcomradeprogrammer%2Fds-sequencealignment","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcomradeprogrammer%2Fds-sequencealignment/lists"}