# Готові застосунки

Кожен з трьох це робочий застосунок, а не фрагмент коду: форма, сервер, малюнок і відповідь API. Клонуйте, покладіть ключ у `.env`, запустіть. Код під MIT, тож забирайте його у свій продукт без умов.

Усі три влаштовані однаково: Vite на фронтенді й один маленький сервер на Node, через який ідуть виклики. Браузер не може звернутися до API напряму, тож ключ живе на сервері й на сторінку не потрапляє.

```bash
git clone https://github.com/astroway/starter-human-design
cd starter-human-design && npm install
cp .env.example .env     # ваш ключ сюди
npm run dev
```

Ключ отримаєте в [дашборді](https://api.astroway.info/dashboard/sign-up). Поки будуєте, беріть пісочний `aw_test_*`: він не витрачає кредитів.

## Human Design

Дата, час і місце народження на вході, бодиграф і розбір на виході. Один виклик `POST /v1/human-design` віддає тип, стратегію, авторитет, профіль, визначення, хрест втілення, дев'ять центрів з активними воротами, усі визначені канали й обидва набори активацій. Застосунок малює бодиграф на SVG і таблицю активацій. 50 кредитів за читання, тобто 200 читань на безкоштовному тарифі.

<CardGrid>
  <LinkCard title="Живе демо" href="https://api.astroway.info/demo/human-design/" />
  <LinkCard title="Код на GitHub" href="https://github.com/astroway/starter-human-design" />
  <LinkCard title="Розгорнути на Render" href="https://render.com/deploy?repo=https://github.com/astroway/starter-human-design" />
</CardGrid>

## BaZi

Чотири стовпи долі й цикл удачі. `POST /v1/bazi/chart` віддає стовпи з прихованими стеблами, на інь і фазу дванадцяти стадій, господаря дня, баланс стихій, вердикт сили з поясненням, символічні зірки й усі поєднання та зіткнення гілок. `POST /v1/bazi/luck-pillars` віддає Да Юнь: напрямок, вік початку й десять стовпів по десять років. Обидва виклики йдуть паралельно, 30 кредитів за читання.

<CardGrid>
  <LinkCard title="Живе демо" href="https://api.astroway.info/demo/bazi/" />
  <LinkCard title="Код на GitHub" href="https://github.com/astroway/starter-bazi" />
  <LinkCard title="Розгорнути на Render" href="https://render.com/deploy?repo=https://github.com/astroway/starter-bazi" />
</CardGrid>

## Кабінет звітів

Для практика: дані клієнта на вході, готовий PDF з вашим брендом на виході. Шістнадцять звітів під одним префіксом `POST /v1/reports/<type>`, кожен приймає блок `whitelabel`, тож файл, який отримує клієнт, носить ваше ім'я, а не наше. П'ятнадцять звітів коштують 5000 кредитів, таро 100.

<CardGrid>
  <LinkCard title="Живе демо" href="https://api.astroway.info/demo/practice/" />
  <LinkCard title="Код на GitHub" href="https://github.com/astroway/starter-practice" />
  <LinkCard title="Розгорнути на Render" href="https://render.com/deploy?repo=https://github.com/astroway/starter-practice" />
</CardGrid>

<Aside>
Демо обмежені за адресою й ходять власними ключами з доступом лише до своїх ендпоінтів. Демо кабінету звітів рендерить тільки таро, бо сторінка у відкритому інтернеті, що робить звіт за 5000 кредитів кожному, витратила б місячний безкоштовний тариф за два кліки. Ваша копія рендерить усі шістнадцять.
</Aside>

## Розгортання

Кнопка Render читає `render.yaml` у репозиторії: один веб-сервіс на Node на безкоштовному плані, який збирається й стартує скриптами з package.json. При створенні Render попросить ключ API. Будь-який хостинг, де працює Node 22, підходить так само: зібрати, запустити, задати ключ.
