feat(mvp): initial build for Between [DEV staging]

This commit is contained in:
Hermes Virtual Office Bot 2026-10-21 13:47:32 +00:00
commit b8eaa9016e
10 changed files with 114 additions and 0 deletions

14
REPO_MAP.md Normal file
View File

@ -0,0 +1,14 @@
# REPO_MAP.md (Auto-Generated Modular Index)
> Hard Rule: Max 200 lines per file. Read ONLY the contract and target feature folder.
| Path | Lines | Layer / Responsibility |
|------|-------|------------------------|
| `contracts/DESIGN_SYSTEM.md` | 8 ✅ | contract |
| `contracts/OPENAPI.yaml` | 4 ✅ | contract |
| `contracts/PRD.md` | 6 ✅ | contract |
| `contracts/WEB_REFERENCES.md` | 8 ✅ | contract |
| `backend/app/modules/core/router.py` | 2 ✅ | backend-module |
| `frontend/src/features/PreviewApp.html` | 36 ✅ | frontend-fsd |
| `frontend/src/features/PreviewDev.html` | 36 ✅ | frontend-fsd |
| `frontend/assets/hero.jpg` | 17652 ⚠️ OVER 200L | frontend-fsd |
| `frontend/assets/logo.jpg` | 12227 ⚠️ OVER 200L | frontend-fsd |

View File

@ -0,0 +1,2 @@
from fastapi import APIRouter
router = APIRouter(prefix='/api/v1/items')

View File

@ -0,0 +1,8 @@
# DESIGN_SYSTEM.md (Normalized Figma Tokens)
- **Reference Source:** https://www.figma.com/design/KBYFGreBmq4OqDidZ5QwLm/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83?node-id=12-312729&t=rTTZSAPTuuE8Ofkx-1
- **File Key / Node:** `KBYFGreBmq4OqDidZ5QwLm` / `12:312729`
- **Primary Palette:** `#0F172A, #6366F1, #10B981, #F8FAFC, #1E293B`
- **Typography:** `Inter, JetBrains Mono`
- **Border Radius & Surface:** `12px`, Glassmorphic slate cards (`backdrop-blur-md`)
- **Responsive Breakpoints:** Desktop `1440x900` (12-col grid) | Mobile `390x844` (single-col stack)
- **Mapped FSD Widgets:** `AppHeader, HeroMetricBanner, FilterBar, FeatureCardGrid, ActionModal`

4
contracts/OPENAPI.yaml Normal file
View File

@ -0,0 +1,4 @@
openapi: 3.1.0
info:
title: Between API
version: 1.0.0

6
contracts/PRD.md Normal file
View File

@ -0,0 +1,6 @@
# PRD: Between
- Режим: `strict_figma`
- Идея: Сайт для чтения романтический истории с сексуальным подтекстом. Каждый текст заканчивается видео, которое должно подогреть интерес. Аудитория девушки и женщины, ищущие сексуального удовлетворения или разогрев перед вечером с мужем, парнем
## Сайты-референсы:
- 🎨 Строгий макет Figma (Режим 1-в-1 Pixel-Perfect) (https://www.figma.com/design/KBYFGreBmq4OqDidZ5QwLm/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83?node-id=12-312729&t=rTTZSAPTuuE8Ofkx-1): Режим чёткого соответствия Figma: сторонние референсы отключены. Верстка и дизайн-токены берутся строго из вашего макета.

View File

@ -0,0 +1,8 @@
# WEB_REFERENCES.md — Референсы и режим проектирования
- **Выбранный режим:** 🎯 Режим 1: Строго по макету Figma (Pixel-Perfect 1-в-1)
- **Запрос / Задача:** `Between Сайт для чтения романтический истории с сексуальным подтекстом. Каждый текст заканчивается видео, которое должно подогреть интерес. Аудитория девушки и женщины, ищущие сексуального удовлетворения или разогрев перед вечером с мужем, парнем`
## Источники и референсы, переданные в UX/UI и Frontend:
### 1. [🎨 Строгий макет Figma (Режим 1-в-1 Pixel-Perfect)](https://www.figma.com/design/KBYFGreBmq4OqDidZ5QwLm/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83?node-id=12-312729&t=rTTZSAPTuuE8Ofkx-1)
- **URL:** https://www.figma.com/design/KBYFGreBmq4OqDidZ5QwLm/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83?node-id=12-312729&t=rTTZSAPTuuE8Ofkx-1
- **Что берём в проект:** Режим чёткого соответствия Figma: сторонние референсы отключены. Верстка и дизайн-токены берутся строго из вашего макета.

BIN
frontend/assets/hero.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 MiB

BIN
frontend/assets/logo.jpg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Between — Live Prototype</title>
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body style="background:#04100b;color:#ecfdf5;" class="min-h-screen font-sans">
<header style="background:#081d14;border-color:#4ade8033;" class="border-b backdrop-blur sticky top-0 z-10">
<div class="max-w-6xl mx-auto px-6 py-4 flex items-center justify-between">
<div class="flex items-center gap-3">
<img src="/assets/between-1323/logo.jpg" alt="Between" class="w-9 h-9 rounded-full object-cover" onerror="this.style.display='none'" />
<h1 class="text-lg font-bold">Between</h1>
</div>
<a href="/" class="text-xs opacity-70 hover:opacity-100">← Вернуться в Виртуальный Офис</a>
</div>
</header>
<main class="max-w-6xl mx-auto px-6 py-8 space-y-8">
<section style="background:#081d14;border-color:#4ade8055;" class="border rounded-2xl p-6">
<h2 class="text-2xl font-bold mb-2" style="color:#4ade80;">Between</h2>
<p class="opacity-85 text-sm">Сайт для чтения романтический истории с сексуальным подтекстом. Каждый текст заканчивается видео, которое должно подогреть интерес. Аудитория девушки и женщины, ищущие сексуального удовлетворения или разогрев перед вечером с мужем, парнем</p>
</section>
<section class="space-y-3">
<h3 class="text-sm font-bold" style="color:#4ade80;">🔍 Проанализированные сайты-референсы из интернета:</h3>
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<a href="https://www.figma.com/design/KBYFGreBmq4OqDidZ5QwLm/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83?node-id=12-312729&t=rTTZSAPTuuE8Ofkx-1" target="_blank" class="block gorilla-subcard hover:brightness-110 rounded-2xl p-4 transition">
<div class="text-xs font-bold accent-text truncate">🎨 Строгий макет Figma (Режим 1-в-1 Pixel-Perfect)</div>
<div class="text-[11px] opacity-50 truncate mt-0.5 font-mono">https://www.figma.com/design/KBYFGreBmq4OqDidZ5QwLm/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83?node-id=12-312729&t=rTTZSAPTuuE8Ofkx-1</div>
<p class="text-xs opacity-80 mt-2 line-clamp-3">Режим чёткого соответствия Figma: сторонние референсы отключены. Верстка и дизайн-токены берутся строго из вашего макета.</p>
</a>
</div>
</section>
</main>
</body>
</html>

View File

@ -0,0 +1,36 @@
<!DOCTYPE html>
<html lang="ru" class="dark">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Between — Live Prototype</title>
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body style="background:#04100b;color:#ecfdf5;" class="min-h-screen font-sans">
<header style="background:#081d14;border-color:#4ade8033;" class="border-b backdrop-blur sticky top-0 z-10">
<div class="max-w-6xl mx-auto px-6 py-4 flex items-center justify-between">
<div class="flex items-center gap-3">
<img src="/assets/between-1323/logo.jpg" alt="Between" class="w-9 h-9 rounded-full object-cover" onerror="this.style.display='none'" />
<h1 class="text-lg font-bold">Between</h1>
</div>
<a href="/" class="text-xs opacity-70 hover:opacity-100">← Вернуться в Виртуальный Офис</a>
</div>
</header>
<main class="max-w-6xl mx-auto px-6 py-8 space-y-8">
<section style="background:#081d14;border-color:#4ade8055;" class="border rounded-2xl p-6">
<h2 class="text-2xl font-bold mb-2" style="color:#4ade80;">Between</h2>
<p class="opacity-85 text-sm">Сайт для чтения романтический истории с сексуальным подтекстом. Каждый текст заканчивается видео, которое должно подогреть интерес. Аудитория девушки и женщины, ищущие сексуального удовлетворения или разогрев перед вечером с мужем, парнем</p>
</section>
<section class="space-y-3">
<h3 class="text-sm font-bold" style="color:#4ade80;">🔍 Проанализированные сайты-референсы из интернета:</h3>
<div class="grid grid-cols-1 md:grid-cols-3 gap-4">
<a href="https://www.figma.com/design/KBYFGreBmq4OqDidZ5QwLm/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83?node-id=12-312729&t=rTTZSAPTuuE8Ofkx-1" target="_blank" class="block gorilla-subcard hover:brightness-110 rounded-2xl p-4 transition">
<div class="text-xs font-bold accent-text truncate">🎨 Строгий макет Figma (Режим 1-в-1 Pixel-Perfect)</div>
<div class="text-[11px] opacity-50 truncate mt-0.5 font-mono">https://www.figma.com/design/KBYFGreBmq4OqDidZ5QwLm/%D0%9C%D0%B5%D0%B6%D0%B4%D1%83?node-id=12-312729&t=rTTZSAPTuuE8Ofkx-1</div>
<p class="text-xs opacity-80 mt-2 line-clamp-3">Режим чёткого соответствия Figma: сторонние референсы отключены. Верстка и дизайн-токены берутся строго из вашего макета.</p>
</a>
</div>
</section>
</main>
</body>
</html>