{"id":24610815,"url":"https://github.com/resilientapp/resvote","last_synced_at":"2025-03-18T14:44:20.030Z","repository":{"id":269120756,"uuid":"906489941","full_name":"ResilientApp/ResVote","owner":"ResilientApp","description":null,"archived":false,"fork":false,"pushed_at":"2025-01-16T21:12:15.000Z","size":3282,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-24T19:18:28.473Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ResilientApp.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,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-12-21T03:46:32.000Z","updated_at":"2025-01-16T21:12:17.000Z","dependencies_parsed_at":null,"dependency_job_id":"89ee5016-c538-4d3f-9cfe-0b80f20b26a9","html_url":"https://github.com/ResilientApp/ResVote","commit_stats":null,"previous_names":["eyh0602/resvote_merge","resilientapp/resvote"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ResilientApp%2FResVote","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ResilientApp%2FResVote/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ResilientApp%2FResVote/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ResilientApp%2FResVote/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ResilientApp","download_url":"https://codeload.github.com/ResilientApp/ResVote/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244244747,"owners_count":20422358,"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":"2025-01-24T19:18:31.269Z","updated_at":"2025-03-18T14:44:20.007Z","avatar_url":"https://github.com/ResilientApp.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n# resVote\n\nRandom vote generator based on property-based testing\n\n## Python\n\nWe recommend using `conda` to manage python environment.\n\n```sh\nconda create -n \"resdb\" python=3.10.0 ipython\nconda activate resdb\npip install -r requirements.txt\n```\n\n## Get ResilientDB Dependencies\n\nTo save some time, we also provide a docker image that has all the dependencies installed.\n\n```sh\ndocker pull yfhecs/rsdb\ndocker run -d -p 18000:18000 --name resdb yfhecs/rsdb\n```\nIf you choose to use docker, you can skip the following steps.\nPlease wait a few minutes for the docker container to start.\nYou can check if it is ready by the follow command:\n\n```sh\n❯ curl -X POST -d '{\"id\":\"key1\",\"value\":\"value1\"}' localhost:18000/v1/transactions/commit\nid: key1\n\n❯ curl 127.0.0.1:18000/v1/transactions/key1\n{\"id\":\"key1\",\"value\":\"value1\"}\n```\n\nYou can also find the related dockerfile in the `./docker` directory.\n\n\n### ResilientDB\n\nThe following commands will clone and build ResilientDB,\nand then starts 4 replicas and 1 client. Each replica instantiates a key-value store.\n\n```sh\ngit clone https://github.com/apache/incubator-resilientdb.git resilientdb\ncd resilientdb\n./INSTALL.sh\n./service/tools/kv/server_tools/start_kv_service.sh\n```\n\n### Graph QL\n\n```sh\ngit clone https://github.com/apache/incubator-resilientdb-graphql.git resilientdb-graphql\ncd resilientdb-graphql\nsh ./INSTALL.sh\npip install -r requirements.txt\n```\n\n#### Running Crow service (HTTP endpoints)\n\n```sh\nbazel build service/http_server/crow_service_main\nbazel-bin/service/http_server/crow_service_main service/tools/config/interface/client.config service/http_server/server_config.config\n```\n\n#### Test if SDK and service are working\n\n```sh\npython test_driver.py \n```\n\n## resVote Server\n\n```sh\nsource ./env.sh\npython app/serve.py\n```\n\n## resVote TUI Client\n\n```sh\nsource ./env.sh\npython app/tui.py\n```\n## resVote React Frontend\n\n### To run\n1. start the express server with `node expressMiddleware/express.js`\n2. cd into resVote2.0 (`cd resVote2.0`) and run `npm start`\n\n* Note: Make sure you have resVault set up on chrome. Currently I have mongo synced to main-net for resDB so connect to it.\n\n### DO NOT RUN sync.js\n* I don't know whether or not this will cause duplicates in mongoDB\n\n### Notes\n* To sync your mongoDB, change the mongoURI in `expressMiddleware/express.js` and `resVote2.0/src/mongoDB/sync.js`\n  - Run sync.js to populate the transactions into your DB\n  - Then run express.js to field requests from `resVote2.0/src/mongoDB/mongoAPI.js`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fresilientapp%2Fresvote","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fresilientapp%2Fresvote","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fresilientapp%2Fresvote/lists"}