feat: add tg api
All checks were successful
Deploy to VPS (dist) / deploy (push) Successful in 1m35s

This commit is contained in:
Hewston Fox
2026-03-16 00:50:53 +02:00
parent 67c2721cff
commit 9f0ff8c4e5
29 changed files with 544 additions and 40 deletions

View File

@@ -1 +1,82 @@
# TODO: update readme
# Honey Frontend
Telegram mini-app game frontend with a bee/honey theme. Built as a single-page application targeting mobile-first layout.
## Tech Stack
- **React 19** + **TypeScript 5.9** (strict mode)
- **Vite 7** with SWC (`@vitejs/plugin-react-swc`)
- **TanStack Router** (file-based routing, auto code-splitting) + **React Query**
- **Tailwind CSS v4** (`@tailwindcss/vite` plugin)
- **i18next** + react-i18next (EN, RU — loaded via HTTP backend from `public/locales/`)
- **axios** for HTTP requests
- **arktype** for runtime validation
- **motion** (Framer Motion) for animations
- **oxlint** / **oxfmt** for linting and formatting
- **pnpm** package manager
## Getting Started
### Prerequisites
- Node.js (see `.nvmrc` for a version) / NVM
- pnpm
### Setup
```bash
nvm use
pnpm install
cp .env.example .env # fill in required variables
pnpm dev
```
### Environment Variables
| Variable | Description |
| ------------------- | -------------------- |
| `VITE_APP_NAME` | Application name |
| `VITE_APP_URL` | Application URL |
| `VITE_API_BASE_URL` | Backend API base URL |
## Scripts
| Command | Description |
| -------------------- | -------------------------------- |
| `pnpm dev` | Start dev server |
| `pnpm build` | Typecheck + production build |
| `pnpm build:staging` | Typecheck + staging build |
| `pnpm lint` | Run oxlint |
| `pnpm lint:fix` | Run oxlint with auto-fix |
| `pnpm fmt` | Format code with oxfmt |
| `pnpm fmt:check` | Check formatting without writing |
## Project Structure
```
src/
api/ — Axios instance and API utilities
components/
atoms/ — Generic reusable components
form/ — Components for user inputs
icons/ — SVG icon components
modals/ — Application modals with shared interface
surface/ — Themed containers
i18n/ — i18n runtime setup
routes/ — TanStack file-based routes
styles/ — Global CSS, fonts
main.tsx — App entry point
public/
locales/ — Translation JSON files
plugins/ — Custom Vite plugins
dynamic-json.ts — JSON templating with env var interpolation
```
### Path Aliases
- `@/*``src/*`
- `@components/*``src/components/*`
## Pre-commit Hooks
Husky + lint-staged run `oxfmt` and `oxlint` on staged files before each commit.