Skip to content

Hexlet/hexlet-correction

Repository files navigation

Hexlet Typo Reporter

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.

Example

Go to: https://hexlet.github.io/hexlet-correction/index.html

Highlight text and press Ctrl+Enter

Development

Before you can build this project, you must install and configure the following dependencies on your machine:

  1. Java 21
  2. Docker, Docker Compose

Yandex authorization

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

Registration/Authorization with GitHub

For registration or/and authorization account with GitHub:

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

Development with vagrant

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

Testing

To launch your application's tests, run:

make test

Using Docker to simplify development (optional)

For example, to start a postgresql database in a docker container, run:

make docker-infra-start

Run application with database in docker

make run-dev

Build and run application with database in docker

make run-dev-docker-db # make start

Clear config (database, app build)

make clear

Typo API calls

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"
}

Hexlet Ltd. logo

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.

About

Typo Reporter

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 58