React Native приложение (iOS+Android)
- ReviewApi: create/listForUser/stats - ReviewCreateScreen: stars 1-5, comment, anonymous toggle - UserReviewsScreen: list + stats header - UserProfileScreen: avatar, rating, bio, prefs (drinks/activities/purposes) * Написать / Все отзывы / Заблокировать / Пожаловаться - MapScreen: tap marker -> UserProfile - ChatScreen header: 👤 profile + ⭐ leave review - ChatListScreen: pass other_id in nav params for review screen - NavStack: UserProfile, ReviewCreate, UserReviews Backend now returns snake_case JSON (id/name/photo_url etc.) - matches mobile types |
||
|---|---|---|
| src | ||
| .gitignore | ||
| app.json | ||
| App.tsx | ||
| babel.config.js | ||
| index.js | ||
| metro.config.js | ||
| package.json | ||
| README.md | ||
| tsconfig.json | ||
BuhApp Mobile
React Native приложение для iOS и Android.
Стек
- React Native 0.74+
- TypeScript
- React Navigation (stack + bottom tabs)
- Zustand (state)
- Axios (HTTP)
- Socket.IO Client (WebSocket)
- react-native-maps (карты)
- @react-native-async-storage/async-storage
- react-native-permissions (location, notifications)
Структура
buhapp-mobile/
├── src/
│ ├── api/ — axios client, endpoints
│ ├── auth/ — токены, auth store
│ ├── screens/ — экраны
│ │ ├── auth/ — Welcome, Register, Login
│ │ ├── map/ — MapScreen (главный экран)
│ │ ├── profile/ — ProfileScreen, EditProfile
│ │ ├── chat/ — ChatListScreen, ChatScreen
│ │ └── settings/
│ ├── components/ — кнопки, формы, элементы
│ ├── navigation/ — навигация
│ ├── store/ — zustand stores
│ ├── ws/ — WebSocket клиент
│ ├── theme/ — цвета, типографика
│ └── types/ — TypeScript типы
├── android/ — Android натив
├── ios/ — iOS натив
├── App.tsx
├── package.json
├── tsconfig.json
└── README.md
Backend API
https://api.buhapp.mygoodservice.ru (или http://localhost:8080 в dev)
Запуск (dev)
# 1. Установить зависимости
npm install
# 2. iOS
npx pod-install
npm run ios
# 3. Android
npm run android
Карта (главный экран)
После онбординга пользователь попадает на карту. На ней:
- его собственная точка
- другие пользователи (если включена видимость)
- кнопка "обновить местоположение"
- фильтры (возраст, что пьёт, что делает)
Юр. документы
При регистрации пользователь принимает:
- Пользовательское соглашение
- Политику конфиденциальности
- Отказ от ответственности
- Подтверждение 18+
См. /buhapp-docs/legal/ (репозиторий buhapp-docs).