99 lines
No EOL
2.8 KiB
Markdown
99 lines
No EOL
2.8 KiB
Markdown
# avtourist
|
||
|
||
Проект: avtourist-surgut.ru — автоюрист в Сургуте.
|
||
|
||
Стек: Astro (SSR) + PocketBase + Tailwind CSS.
|
||
|
||
## Коллекции PocketBase
|
||
|
||
- `posts` — статьи блога
|
||
- `reviews` — отзывы
|
||
- `comments` — комментарии
|
||
- `cases` — кейсы
|
||
- `consultations` — консультации
|
||
- `users` — пользователи
|
||
- `post_votes` — голоса за посты
|
||
|
||
## Структура проекта
|
||
|
||
```
|
||
frontend/
|
||
├── src/
|
||
│ ├── pages/
|
||
│ │ ├── index.astro # Главная
|
||
│ │ ├── services/ # Услуги
|
||
│ │ ├── cases/ # Кейсы
|
||
│ │ ├── blog/ # Блог
|
||
│ │ ├── api/ # API эндпоинты
|
||
│ │ └── auth/ # Авторизация
|
||
│ ├── layouts/ # Layouts
|
||
│ ├── lib/ # PocketBase клиент
|
||
│ └── globalInterfaces.ts # Типы
|
||
```
|
||
|
||
## Категории блога
|
||
|
||
- ДТП
|
||
- Лишение прав
|
||
- Страховые споры
|
||
- Штрафы ГИБДД
|
||
- Возмещение ущерба
|
||
- Судебные дела
|
||
|
||
## Категории услуг
|
||
|
||
- Возврат прав
|
||
- Оспаривание штрафов
|
||
- Страховые споры (ОСАГО, КАСКО)
|
||
- ДТП и здоровье
|
||
- Представительство в суде
|
||
- Обжалование постановлений
|
||
|
||
## Категории кейсов
|
||
|
||
- insurance — страховые
|
||
- rights — лишение прав
|
||
- accident — ДТП
|
||
- court — судебные
|
||
- consultation — консультации
|
||
|
||
## Компоненты
|
||
|
||
Использовать готовые компоненты из проекта:
|
||
- ServiceCard — карточка услуги
|
||
- CaseCard — карточка кейса
|
||
- ReviewCard — карточка отзыва
|
||
- ArticleCard — карточка статьи
|
||
|
||
## Типы
|
||
|
||
Все типы определены в `frontend/src/globalInterfaces.ts`:
|
||
- Post
|
||
- Review
|
||
- Case
|
||
- DocumentItem
|
||
- CompanyInfo
|
||
|
||
## API-эндпоинты
|
||
|
||
- `/api/posts` — список постов
|
||
- `/api/posts/[slug]` — один пост
|
||
- `/api/reviews` — отзывы
|
||
- `/api/comments` — комментарии
|
||
- `/api/votes` — голоса
|
||
- `/api/consultation` — форма консультации
|
||
- `/api/auth/*` — авторизация
|
||
|
||
## Переменные окружения
|
||
|
||
```
|
||
PB_POCKETBASE_URL=http://127.0.0.1:8090
|
||
```
|
||
|
||
## Правила
|
||
|
||
1. Все запросы к PB — на сервере (frontmatter)
|
||
2. Использовать типы из globalInterfaces.ts
|
||
3. Не использовать any
|
||
4. Компоненты — только .astro с Tailwind
|
||
5. API-эндпоинты — в src/pages/api/ |