A 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.
Tasks can be discussed in the Telegram community.
Go to: https://hexlet.github.io/hexlet-correction/index.html
Highlight text and press Ctrl+Enter
Before you can build this project, you must install and configure the following dependencies on your machine:
- Java 21
- Docker, Docker Compose
To enable Yandex authorization, you need to register on Yandex ID OAuth and create your web application,
add ClientID
and Client secret
in your secret
YANDEX_CLIENT_ID=your_yadex_client_id_values
YANDEX_CLIENT_SECRET=your_yandex_client_secret_values
For registration or/and authorization account with GitHub:
- Create OAuth app https://docs.github.com/en/apps/oauth-apps/building-oauth-apps/creating-an-oauth-app.
- Get values the
Client ID
andClient Secret
and add to environment variables in any known way.
For example, you can create an .env
file in the root of the project, where you can enter the names of variables
and their values as shown below:
GITHUB_CLIENT_ID=your_github_client_id_values
GITHUB_CLIENT_SECRET=your_github_client_secret_values
A .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.
You can copy this file and rename to .env
, change and use.
### Packaging as uber-jar
To build the final jar:
```bash
make build
Install Vagrant and VM provider (Virtualbox).
Run commands:
make vagrant-build
make vagrant-run
or just vagrant ssh
, then cd /vagrant
to run commands inside vm
To launch your application's tests, run:
make test
For example, to start a postgresql database in a docker container, run:
make docker-infra-start
make run-dev
make run-dev-docker-db # make start
make clear
For creating new typo
:
POST http://localhost:8080/api/workspaces/{workspaceId}/typos
Content-Type: application/json
Authorization: Basic base64(workspaceId:api-token)
Referer: (workspaceId:allowed-url)
{
"pageUrl": "https://mysite.com/page/with/typo",
"reporterName": "reporterName",
"reporterComment": "reporterComment",
"textBeforeTypo": "textBeforeTypo",
"textTypo": "textTypo",
"textAfterTypo": "textAfterTypo"
}
This repository is created and maintained by the team and the community of Hexlet, an educational project. Read more about Hexlet.
See most active contributors on hexlet-friends.