4 Commits

Author SHA1 Message Date
mguschin
784bb27958 chore: replace EvoSync with ЭВОСИНК throughout UI
Update all page titles and branding in FastAPI app and templates to use Russian transliteration of product name.

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-03-06 18:40:11 +03:00
mguschin
1add9fa299 release: v1.8.1 2026-03-06 17:00:08 +03:00
mguschin
b8696793f4 docs: fix changelog order — 1.8.0 before 1.7.3 2026-03-06 16:59:32 +03:00
mguschin
37e2df1fef docs: update changelog for v1.7.3 2026-03-06 16:58:51 +03:00
23 changed files with 42 additions and 23 deletions

View File

@@ -28,6 +28,25 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- VK connection card icon changed to `bi-bag` (shopping bag) to reflect VK Market use case
- Password reset and email confirmation pages: replaced dev-mode console instructions with user-facing copy
## [1.7.3] - 2026-03-06
### Added
- Nginx reverse proxy configuration — SSL termination, HTTP→HTTPS redirect, proxy to uvicorn
- `scripts/init-letsencrypt.sh` — automated Let's Encrypt certificate provisioning via certbot webroot challenge
- Request logging for Evotor token exchange errors to aid debugging
### Fixed
- Evotor OAuth token exchange — move `client_id` and `client_secret` from HTTP Basic Auth to form body fields (resolves `invalid_client` errors)
- Docker environment — pass `EVOTOR_CLIENT_ID` and `EVOTOR_CLIENT_SECRET` to web container via docker-compose
### Changed
- Default `BASE_URL` changed to `https://evosync.ru` for production deployment
- `docker-compose.yml` — web service now exposes port 8000 internally only (accessed via nginx)
- Added `refresh_token` field to `EvotorConnection` model for future token refresh logic
## [1.7.2] - 2026-03-05
### Other

View File

@@ -1 +1 @@
1.7.3
1.8.1

View File

@@ -25,7 +25,7 @@ async def lifespan(app: FastAPI):
pass
app = FastAPI(title="EvoSync — Личный кабинет", lifespan=lifespan)
app = FastAPI(title="ЭВОСИНК — Личный кабинет", lifespan=lifespan)
app.add_middleware(SessionMiddleware, secret_key=settings.SECRET_KEY)
app.mount("/static", StaticFiles(directory="web/static"), name="static")

View File

@@ -3,7 +3,7 @@
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{% block title %}EvoSync{% endblock %}</title>
<title>{% block title %}ЭВОСИНК{% endblock %}</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">
<link rel="stylesheet" href="/static/style.css">
@@ -11,7 +11,7 @@
<body>
<nav class="navbar navbar-expand-lg bg-white border-bottom border-2 brand-border">
<div class="container">
<a href="/" class="navbar-brand brand-logo">EvoSync</a>
<a href="/" class="navbar-brand brand-logo">ЭВОСИНК</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Группы — {{ store.name }} — EvoSync{% endblock %}
{% block title %}Группы — {{ store.name }} — ЭВОСИНК{% endblock %}
{% block content %}
<nav aria-label="breadcrumb" class="mb-3">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Товары — EvoSync{% endblock %}
{% block title %}Товары — ЭВОСИНК{% endblock %}
{% block content %}
<nav aria-label="breadcrumb" class="mb-3">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Каталог — EvoSync{% endblock %}
{% block title %}Каталог — ЭВОСИНК{% endblock %}
{% block content %}
<div class="d-flex align-items-center justify-content-between mb-3">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Подтверждение email — EvoSync{% endblock %}
{% block title %}Подтверждение email — ЭВОСИНК{% endblock %}
{% block content %}
<div class="row justify-content-center">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Подключения — EvoSync{% endblock %}
{% block title %}Подключения — ЭВОСИНК{% endblock %}
{% block content %}
<div class="d-flex align-items-center justify-content-between mb-4">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Добавить подключение — EvoSync{% endblock %}
{% block title %}Добавить подключение — ЭВОСИНК{% endblock %}
{% block content %}
<div class="d-flex align-items-center mb-4">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Email подтвержден — EvoSync{% endblock %}
{% block title %}Email подтвержден — ЭВОСИНК{% endblock %}
{% block content %}
<div class="row justify-content-center">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Подключение Эвотор — EvoSync{% endblock %}
{% block title %}Подключение Эвотор — ЭВОСИНК{% endblock %}
{% block content %}
<div class="row justify-content-center">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Забыли пароль — EvoSync{% endblock %}
{% block title %}Забыли пароль — ЭВОСИНК{% endblock %}
{% block content %}
<div class="row justify-content-center">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Вход — EvoSync{% endblock %}
{% block title %}Вход — ЭВОСИНК{% endblock %}
{% block content %}
<div class="row justify-content-center">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}{{ title }} — EvoSync{% endblock %}
{% block title %}{{ title }} — ЭВОСИНК{% endblock %}
{% block content %}
<div class="row justify-content-center">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Изменить пароль — EvoSync{% endblock %}
{% block title %}Изменить пароль — ЭВОСИНК{% endblock %}
{% block content %}
<div class="row justify-content-center">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Удалить аккаунт — EvoSync{% endblock %}
{% block title %}Удалить аккаунт — ЭВОСИНК{% endblock %}
{% block content %}
<div class="row justify-content-center">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Редактировать профиль — EvoSync{% endblock %}
{% block title %}Редактировать профиль — ЭВОСИНК{% endblock %}
{% block content %}
<div class="row justify-content-center">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Личный кабинет — EvoSync{% endblock %}
{% block title %}Личный кабинет — ЭВОСИНК{% endblock %}
{% block content %}
<div class="row justify-content-center">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Регистрация — EvoSync{% endblock %}
{% block title %}Регистрация — ЭВОСИНК{% endblock %}
{% block content %}
<div class="row justify-content-center">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Новый пароль — EvoSync{% endblock %}
{% block title %}Новый пароль — ЭВОСИНК{% endblock %}
{% block content %}
<div class="row justify-content-center">

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Синхронизация — EvoSync{% endblock %}
{% block title %}Синхронизация — ЭВОСИНК{% endblock %}
{% block content %}
<h1 class="h4 mb-4">Синхронизация</h1>

View File

@@ -1,5 +1,5 @@
{% extends "base.html" %}
{% block title %}Подключение ВКонтакте — EvoSync{% endblock %}
{% block title %}Подключение ВКонтакте — ЭВОСИНК{% endblock %}
{% block content %}
<div class="row justify-content-center">