{"id":18768748,"url":"https://github.com/interep-project/reputation-service","last_synced_at":"2025-04-13T07:30:56.608Z","repository":{"id":40465464,"uuid":"344306607","full_name":"interep-project/reputation-service","owner":"interep-project","description":"🚀 Interep back-end and front-end.","archived":false,"fork":false,"pushed_at":"2023-04-28T14:32:18.000Z","size":4568,"stargazers_count":33,"open_issues_count":8,"forks_count":17,"subscribers_count":6,"default_branch":"main","last_synced_at":"2023-08-05T09:53:54.005Z","etag":null,"topics":["badge","interrep","reputation","reputation-badge","semaphore","zk-snarks"],"latest_commit_sha":null,"homepage":"https://kovan.interep.link/","language":"TypeScript","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/interep-project.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}},"created_at":"2021-03-04T00:51:37.000Z","updated_at":"2023-06-19T08:25:00.000Z","dependencies_parsed_at":"2023-01-22T04:50:00.038Z","dependency_job_id":null,"html_url":"https://github.com/interep-project/reputation-service","commit_stats":null,"previous_names":[],"tags_count":0,"template":null,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interep-project%2Freputation-service","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interep-project%2Freputation-service/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interep-project%2Freputation-service/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/interep-project%2Freputation-service/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/interep-project","download_url":"https://codeload.github.com/interep-project/reputation-service/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223573806,"owners_count":17167369,"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":["badge","interrep","reputation","reputation-badge","semaphore","zk-snarks"],"created_at":"2024-11-07T19:13:54.271Z","updated_at":"2024-11-07T19:13:54.783Z","avatar_url":"https://github.com/interep-project.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n    \u003ch1 align=\"center\"\u003e\n        Interep reputation service\n    \u003c/h1\u003e\n    \u003cp align=\"center\"\u003eInterep back-end and front-end.\u003c/p\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n    \u003ca href=\"https://github.com/interep-project\" target=\"_blank\"\u003e\n        \u003cimg src=\"https://img.shields.io/badge/project-Interep-blue.svg?style=flat-square\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://github.com/interep-project/reputation-service/actions/workflows/test.yaml\"\u003e\n        \u003cimg alt=\"GitHub Workflow Status\" src=\"https://img.shields.io/github/workflow/status/interep-project/reputation-service/test?label=test\u0026logo=github\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://coveralls.io/github/interep-project/reputation-service\"\u003e\n        \u003cimg alt=\"Coveralls\" src=\"https://img.shields.io/coveralls/github/interep-project/reputation-service?style=flat-square\u0026logo=coveralls\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://deepscan.io/dashboard#view=project\u0026tid=16502\u0026pid=19780\u0026bid=519858\"\u003e\n        \u003cimg alt=\"DeepScan grade\" src=\"https://deepscan.io/api/teams/16502/projects/19780/branches/519858/badge/grade.svg\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://eslint.org/\" target=\"_blank\"\u003e\n        \u003cimg alt=\"Linter eslint\" src=\"https://img.shields.io/badge/linter-eslint-8080f2?style=flat-square\u0026logo=eslint\"\u003e\n    \u003c/a\u003e\n    \u003ca href=\"https://prettier.io/\" target=\"_blank\"\u003e\n        \u003cimg alt=\"Code style prettier\" src=\"https://img.shields.io/badge/code%20style-prettier-f8bc45?style=flat-square\u0026logo=prettier\"\u003e\n    \u003c/a\u003e\n    \u003cimg alt=\"Repository top language\" src=\"https://img.shields.io/github/languages/top/interep-project/reputation-service?style=flat-square\"\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n    \u003ch4\u003e\n        \u003ca href=\"https://docs.interep.link/contributing\"\u003e\n            👥 Contributing\n        \u003c/a\u003e\n        \u003cspan\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n        \u003ca href=\"https://docs.interep.link/code-of-conduct\"\u003e\n            🤝 Code of conduct\n        \u003c/a\u003e\n        \u003cspan\u003e\u0026nbsp;\u0026nbsp;|\u0026nbsp;\u0026nbsp;\u003c/span\u003e\n        \u003ca href=\"https://appliedzkp.org/discord\"\u003e\n            🗣️ Chat \u0026amp; Support\n        \u003c/a\u003e\n    \u003c/h4\u003e\n\u003c/div\u003e\n\nPlease, visit our [web app](https://kovan.interep.link) or our [documentation website](https://docs.interep.link) for more details.\n\n---\n\n## Code overview\n\nThis repository contains the frontend and backend code of the Interep application.\n\nThe backend code consists mainly of APIs, controllers and core functions. Next.js maps the application's [page](https://nextjs.org/docs/basic-features/pages) and [api routes](https://nextjs.org/docs/api-routes/introduction) to files in the `src/pages` directory. Each API is associated with a handler/controller in the `src/controllers` directory, which checks that the request parameters are correct. If these checks are passed and the request needs more complex logic, the core functions are used, otherwise the db methods are called directly.\n\nThe frontend consists of the pages defined in the `src/pages` directory. These pages are React components that in turn use the shared components in the `components` directory. The style of the Web application is defined in the `src/styles` directory, while `src/context` and `src/hooks` contain React contexts and hooks respectively.\n\nThe services in the `src/services` folder usually contain external services APIs, while the `src/tasks` folder contains tasks that run externally to Next.js. Finally, the `src/config.ts` file contains the environment variables and data about the Ethereum network and contracts.\n\nThe code is usually organized in modules (e.g. `src/core/groups`), where each function corresponds to a file with the same name, and an `index.ts` file exports all the functions of the module. Each module also contains an `index.test.ts` file where Jest tests are defined for each function in the module. Test files follow a standard structure for each module.\n\n## Install\n\nClone this repository and install the dependencies:\n\n```bash\ngit clone https://github.com/interep-project/reputation-service.git\ncd reputation-service\nyarn\n```\n\n## Usage\n\nCopy the `.env.example` file and rename it `.env`.\n\nAll environment variables need to be provided. The format for the MongoDB URI is described [here](https://docs.mongodb.com/manual/reference/connection-string/).\n\n### Running tests\n\n```bash\nyarn test\n```\n\n### Seeding\n\nTo seed the db you can run:\n\n```bash\nyarn db:seed-zero-hashes # required\n```\n\nIf you want to reset the db you can run:\n\n```bash\nyarn db:reset # it will insert the zero hashes\n```\n\n### Running Interep (development)\n\n```bash\nyarn dev\n```\n\nThe pages auto-update as you edit files.\n\nTo test all the features, you will need to deploy the Interep contracts in a [local network](https://github.com/interep-project/contracts/tree/main#preparing-a-local-network).\n\n### Running Interep (production)\n\n**NODE_ENV === 'production'**\n\n**Build**\n\n```bash\nyarn build\n```\n\n**Start the server**\n\n```bash\nyarn start\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterep-project%2Freputation-service","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finterep-project%2Freputation-service","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finterep-project%2Freputation-service/lists"}