Медленный калькулятор (Slow Calc), работающий на технологиях REST API, gRPC, SQLite и JWT
- Приложение выполняет регистрацию пользователя и предоставляет ему доступ к сервису по тем данным, которые он ввёл
- Далее пользователь вводит выражение, указывая время исполнения каждой операции
- Именно: возведение в степень, умножение, деление, сложение и вычитание
- Свой ID — UserID, а также ID выражения
- Написать фронт
- Реализовать контроль воркеров
Попробовал сделать на 50 баллов — реализовал через gRPC взаимодействие сервера — оркестратора — и агента, сохранение выражения и данных пользователя в базе данных (SQLite) и аутентификацию пользователя при помощи JWT — JSON Web Token
git clone https://github.com/SPA2006/Distributed-Calculator-of-Arithmetic-Expressions.git
if you call go run in cmd go to the directory where you want to put files of the project and using "cd" command go to folder app and print in cmd: go run main.go
go run cmd/app/main.go
Check availibility of ":8081", ":8079" ports for proper working of the project, specificially gRPC and HTTP ports
curl -X POST http://localhost:8081/register
{
"id": number,
"email": "your_email",
"name": "your_name",
"password": "your_password"
}
curl -X POST http://localhost:8081/login
{
"id": unique_int,
"email": "your_email",
"name": "your_name",
"password": "your_password"
}
curl -X POST http://localhost:8081/expression
{
"id": unique_int,
"expression": "infix_expression",
"user_id": your_id,
"time_power": int_number,
"time_mult": int_number,
"time_div": int_number,
"time_add": int_number,
"time_sub": int_number
}
curl -X GET http://localhost:8081/get_exp?id
curl -X GET http://localhost:8081/get_user_exp?user_id
curl -X GET http://localhost:8081/get_all_exp
curl -X DELETE http://localhost:8081/delete_exp?id