Skip to content

tantoni228/distributed_calculator2

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

distributed calculator 2.0

Суть проекта:

Калькулятор, который способен считать математические выражения конкуренто. Также можно посмотреть решение каждого введённого тобой выражения. Для того, чтобы посчитать пример, нужно авторизоваться.

Используемые технологии

  • SQlite
  • JWT
  • proto
  • grps

Требования

Go >= 1.20
C++ (для SQlite)

Запуск проекта

Для начала необходимо скачать Zip файл или клонировать проект.

git clone https://github.com/tantoni228/distributed_calculator2

Скачиваем C++ (если его нет). Устанавливаем необходимые пакеты. Пишем команду в каталоге проекта:

go mod download 
  1. Необходимо запустить два сервера. 1 - авторизации, 2 - калькулятор
  1. Запуск сервера калькулятора
go run cmd/client/client_authorization.go
go run cmd/client/client_calculator.go

Функционал проекта

Необходимо зайти на ссылку (http://127.0.0.1:5001/register). Придумать логин и пароль. Потом перейти на ссылку (http://127.0.0.1:5001/login). Здесь вы получите JWT токен, при помощи которого можно будет решить пример. Токен работает 5 мин, потом необходимо генерировать новый. Копируем его и идём сюда (http://127.0.0.1:8080/calculate). Здесь вводим пример с токеном и получаем id(запоминаем). Чтобы получить решение переходим сюда (http://127.0.0.1:8080/get_solution). Вводим токен с id и получаем решение примера. Также отображаются ошибки, если имеются.

Недоработки

  • Ни в коем случаи не делим на ноль. Программа не обрабатывает эту ошибку. Программа не будет вычислять дальше.
  • Реализован на одном порту, но при доработке сможет выполняться несколькими( попробую доделать).
  • Любой пользователь может получить решение примера
  • Калькулятор целочисленный

Обратная связь

почта
телеграм

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published