React Native приложение (iOS+Android)
Go to file
ga 4bd3ebae99 Sprint 4: React Native mobile app (iOS+Android)
Screens:
- LoginScreen / RegisterScreen (with mandatory consents checkboxes)
- MapScreen — MAIN screen after login (Google Maps on Android, Apple Maps on iOS)
  * shows nearby users within radius
  * visibility toggle (hide/show myself on map)
  * radius selector 1/5/10/25/50 km
  * GPS auto-update with permission flow
- ChatListScreen / ChatScreen with WebSocket realtime
  * long-press message: edit/delete
  * 'ред.' marker for edited messages
  * mark as read
- ProfileScreen — bio, city, gender, drinks, activities, purposes

State: Zustand (auth, map stores)
HTTP: axios + JWT interceptor + token refresh
WS: socket.io-client
Storage: AsyncStorage for tokens
Maps: react-native-maps
Permissions: react-native-permissions
2026-08-20 15:56:17 +00:00
src Sprint 4: React Native mobile app (iOS+Android) 2026-08-20 15:56:17 +00:00
.gitignore Sprint 4: React Native mobile app (iOS+Android) 2026-08-20 15:56:17 +00:00
app.json Sprint 4: React Native mobile app (iOS+Android) 2026-08-20 15:56:17 +00:00
App.tsx Sprint 4: React Native mobile app (iOS+Android) 2026-08-20 15:56:17 +00:00
babel.config.js Sprint 4: React Native mobile app (iOS+Android) 2026-08-20 15:56:17 +00:00
index.js Sprint 4: React Native mobile app (iOS+Android) 2026-08-20 15:56:17 +00:00
metro.config.js Sprint 4: React Native mobile app (iOS+Android) 2026-08-20 15:56:17 +00:00
package.json Sprint 4: React Native mobile app (iOS+Android) 2026-08-20 15:56:17 +00:00
README.md Sprint 4: React Native mobile app (iOS+Android) 2026-08-20 15:56:17 +00:00
tsconfig.json Sprint 4: React Native mobile app (iOS+Android) 2026-08-20 15:56:17 +00:00

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).