{"id":21228202,"url":"https://github.com/hexlet/hexlet-correction","last_synced_at":"2025-08-31T14:42:10.305Z","repository":{"id":36588569,"uuid":"205933862","full_name":"Hexlet/hexlet-correction","owner":"Hexlet","description":"Typo Reporter","archived":false,"fork":false,"pushed_at":"2024-11-27T20:11:23.000Z","size":2995,"stargazers_count":54,"open_issues_count":24,"forks_count":86,"subscribers_count":13,"default_branch":"main","last_synced_at":"2025-03-28T17:09:48.700Z","etag":null,"topics":["hacktoberfest"],"latest_commit_sha":null,"homepage":"https://fixit.hexlet.io/","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Hexlet.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2019-09-02T20:45:10.000Z","updated_at":"2025-02-15T18:06:46.000Z","dependencies_parsed_at":"2023-11-28T08:28:21.581Z","dependency_job_id":"e851a6c6-05c0-4ab5-8897-f964a290e2ef","html_url":"https://github.com/Hexlet/hexlet-correction","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hexlet%2Fhexlet-correction","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hexlet%2Fhexlet-correction/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hexlet%2Fhexlet-correction/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Hexlet%2Fhexlet-correction/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Hexlet","download_url":"https://codeload.github.com/Hexlet/hexlet-correction/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247226215,"owners_count":20904465,"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":["hacktoberfest"],"created_at":"2024-11-20T23:15:01.580Z","updated_at":"2025-08-31T14:42:10.289Z","avatar_url":"https://github.com/Hexlet.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Hexlet Typo Reporter\n\nA service to notify site owners of errors and typos. After integrating with the site, visitors are able to highlight an error or typo and report it to the administrator. The project works in Java.\n\nTasks can be discussed in the [Telegram community](https://t.me/hexletcommunity/12).\n\n## Example\n\nGo to: https://hexlet.github.io/hexlet-correction/index.html\n\nHighlight text and press \u003ckbd\u003eCtrl+Enter\u003c/kbd\u003e\n\n## Development\n\nBefore you can build this project, you must install and configure the following dependencies on your machine:\n\n1. Java 21\n2. Docker, Docker Compose\n\n### Yandex authorization\n\nTo enable Yandex authorization, you need to register on [Yandex ID OAuth](https://oauth.yandex.ru/) and create your web application, \nadd `ClientID` and `Client secret` in your secret\n\n```bash\nYANDEX_CLIENT_ID=your_yadex_client_id_values\nYANDEX_CLIENT_SECRET=your_yandex_client_secret_values\n```\n### Registration/Authorization with GitHub\n\nFor registration or/and authorization account with GitHub:\n- Create OAuth app https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app.\n- Get values the `Client ID` and `Client Secret` and add to environment variables in any known way.\n\nFor example, you can create an `.env` file in the root of the project, where you can enter the names of variables\nand their values as shown below:\n```bash\nGITHUB_CLIENT_ID=your_github_client_id_values\nGITHUB_CLIENT_SECRET=your_github_client_secret_values\n```\nA `.env.example` file has been created in the root of the project, which specifies the variables as they should be specified. For these variables, you need to specify the values you received.\nYou can copy this file and rename to `.env`, change and use.\n```\n\n### Packaging as uber-jar\n\nTo build the final jar:\n\n```bash\nmake build\n```\n\n### Development with vagrant\n\nInstall Vagrant and VM provider (Virtualbox).\n\nRun commands:\n\n```bash\nmake vagrant-build\nmake vagrant-run\n```\n\nor just `vagrant ssh`, then `cd /vagrant` to run commands inside vm\n\n## Testing\n\nTo launch your application's tests, run:\n\n```bash\nmake test\n```\n\n## Using Docker to simplify development (optional)\n\nFor example, to start a postgresql database in a docker container, run:\n\n```bash\nmake docker-infra-start\n```\n\n## Run application with database in docker\n\n```bash\nmake run-dev\n```\n\n## Build and run application with database in docker\n\n```bash\nmake run-dev-docker-db # make start\n```\n\n## Clear config (database, app build)\n\n```bash\nmake clear\n```\n\n## Typo API calls\n\nFor creating new `typo`:\n\n```plaintext\nPOST http://localhost:8080/api/workspaces/{workspaceId}/typos\nContent-Type: application/json\nAuthorization: Basic base64(workspaceId:api-token)\nReferer: (workspaceId:allowed-url)\n\n{\n    \"pageUrl\": \"https://mysite.com/page/with/typo\",\n    \"reporterName\": \"reporterName\",\n    \"reporterComment\": \"reporterComment\",\n    \"textBeforeTypo\": \"textBeforeTypo\",\n    \"textTypo\": \"textTypo\",\n    \"textAfterTypo\": \"textAfterTypo\"\n}\n```\n\n---\n\n[![Hexlet Ltd. logo](https://raw.githubusercontent.com/Hexlet/assets/master/images/hexlet_logo128.png)](https://hexlet.io/?utm_source=github\u0026utm_medium=link\u0026utm_campaign=hexlet-correction)\n\nThis repository is created and maintained by the team and the community of Hexlet, an educational project. [Read more about Hexlet](https://hexlet.io/?utm_source=github\u0026utm_medium=link\u0026utm_campaign=hexlet-correction).\n\nSee most active contributors on [hexlet-friends](https://friends.hexlet.io/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexlet%2Fhexlet-correction","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhexlet%2Fhexlet-correction","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhexlet%2Fhexlet-correction/lists"}