feat: add tg api
All checks were successful
Deploy to VPS (dist) / deploy (push) Successful in 1m35s
All checks were successful
Deploy to VPS (dist) / deploy (push) Successful in 1m35s
This commit is contained in:
83
README.md
83
README.md
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user