buhapp-mobile/package.json
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

50 lines
1.4 KiB
JSON

{
"name": "buhapp-mobile",
"version": "0.1.0",
"private": true,
"scripts": {
"android": "react-native run-android",
"ios": "react-native run-ios",
"lint": "eslint .",
"start": "react-native start",
"test": "jest",
"tsc": "tsc --noEmit"
},
"dependencies": {
"@react-native-async-storage/async-storage": "^1.23.1",
"@react-navigation/bottom-tabs": "^6.6.1",
"@react-navigation/native": "^6.1.18",
"@react-navigation/native-stack": "^6.11.0",
"axios": "^1.7.7",
"react": "18.2.0",
"react-native": "0.74.5",
"react-native-gesture-handler": "^2.18.1",
"react-native-maps": "^1.18.0",
"react-native-permissions": "^4.1.5",
"react-native-safe-area-context": "^4.10.9",
"react-native-screens": "^3.34.0",
"socket.io-client": "^4.7.5",
"zustand": "^4.5.5"
},
"devDependencies": {
"@babel/core": "^7.25.2",
"@babel/preset-env": "^7.25.4",
"@babel/runtime": "^7.25.6",
"@react-native/babel-preset": "0.74.87",
"@react-native/eslint-config": "0.74.87",
"@react-native/metro-config": "0.74.87",
"@react-native/typescript-config": "0.74.87",
"@types/react": "^18.2.6",
"@types/react-test-renderer": "^18.0.0",
"babel-jest": "^29.6.3",
"eslint": "^8.19.0",
"jest": "^29.6.3",
"prettier": "2.8.8",
"react-test-renderer": "18.2.0",
"typescript": "5.0.4"
},
"engines": {
"node": ">=18"
}
}