VR-симулятор паддл-тенниса. Сайт-визитка на двух языках (RU / EN).
Live: https://digitalpadel.ru · EN: https://digitalpadel.ru/en/
- Astro 5 (static, output:
dist/) - Tailwind CSS 4 (через
@tailwindcss/vite) - TypeScript (strict)
- Fonts: Boldonse (display, Fontshare), Inter Tight, JetBrains Mono (Google Fonts)
- Image optimization:
astro:assets(WebP, responsive widths) - Runtime: nginx:alpine in Docker
npm install
npm run dev # http://localhost:4321
npm run build # build to dist/
npm run preview # preview built sitesrc/
├── pages/
│ ├── index.astro → / (RU, default)
│ └── en/index.astro → /en/ (EN)
├── layouts/Layout.astro ← head, meta, OG, hreflang, JSON-LD
├── components/
│ ├── Nav.astro ← sticky top nav + lang switcher
│ ├── Hero.astro ← fullscreen hero + HUD
│ ├── Marquee.astro ← keyword strip
│ ├── SectionWhat.astro ← 01 · product overview
│ ├── VideoPreview.astro ← 02 · gameplay demo
│ ├── HowItWorks.astro ← 03 · 3-step flow
│ ├── Features.astro ← 04 · 4-feature grid
│ ├── Market.astro ← 05 · stats
│ ├── Audiences.astro ← 06 · 5 segments
│ ├── Roadmap.astro ← 07 · vertical timeline
│ ├── Partners.astro ← 08 · partner grid
│ ├── CtaStrip.astro ← contact CTA
│ ├── Footer.astro ← 4-column footer
│ ├── SectionHead.astro ← reusable section title
│ └── HomePage.astro ← composition wrapper
├── i18n/ui.ts ← all translations (RU + EN)
├── styles/global.css ← theme, base, primitives
└── assets/photos/ ← optimized via astro:assets
public/
├── video/ ← gameplay preview (mp4 + poster)
├── og-image.jpg
├── favicon.svg
├── robots.txt
└── sitemap.xml
Деплоится на сервер S4 (Sites) — 93.93.207.221.
ssh root@93.93.207.221
cd /opt/digitalpadel
docker compose up -d --build
docker compose logs -f digitalpadelPush в main → GitHub Actions → SSH на S4 → git pull && docker compose up -d --build.
См. .github/workflows/deploy.yml. Требуемые secrets:
| Secret | Описание |
|---|---|
DEPLOY_HOST |
93.93.207.221 |
DEPLOY_USER |
root |
DEPLOY_SSH_KEY |
приватный SSH-ключ (/root/.ssh/github_deploy_dp на S4) |
В NPM admin (http://93.93.207.221:81) добавить proxy host:
- Domain names:
digitalpadel.ru,www.digitalpadel.ru - Scheme:
http - Forward hostname/IP:
digitalpadel(container name) - Forward port:
80 - ✅ Block Common Exploits
- ✅ Websockets Support
- SSL: Let's Encrypt (после того, как DNS укажет на
93.93.207.221)
См. docs/DNS-SETUP.md для инструкции заказчику.
| Изображения | Источник |
|---|---|
src/assets/photos/key-visual.jpg |
маркетинговый баннер Digital Padel |
src/assets/photos/court-vr-sunset.jpg |
скрин из симулятора |
src/assets/photos/player-female-vr.jpg |
реальное фото игрока в VR |
src/assets/photos/hardware-closeup.jpg |
ракетка + adapter + headset (close) |
src/assets/photos/hardware-net.jpg |
hardware у сетки |
src/assets/photos/player-male-action.jpg |
live на корте |
src/assets/photos/expo-stand.jpg |
стенд Digital Tatarstan |
public/video/vr-padel-preview.mp4 |
720p H.264, ~21 MB, 1:41 |
public/video/vr-padel-poster.jpg |
poster frame |
Сырые материалы заказчика лежат в incoming/ (исключено из git).
- Один
src/i18n/ui.ts— словарь с двумя ключамиruиen - Каждая страница (
/,/en/) рендерит общийHomePageс прокинутымlang - Hreflang ru/en/x-default — в
Layout.astro - Language switcher в
Nav.astro— простая ссылка между/и/en/