File structure
├── BucketPolicy.txt
├── docker-compose.development.yml
├── docker-compose.environment.yml
├── docker-compose.production.yml
├── messenger-api
│ ├── Dockerfile
│ ├── codegen.yml
│ ├── graphql.schema.json
│ ├── package.json
│ ├── pm2.json
│ ├── src
│ │ ├── config.ts
│ │ ├── directives
│ │ │ ├── AuthDirective.ts
│ │ │ ├── DeprecatedDirective.ts
│ │ │ ├── TrimDirective.ts
│ │ │ └── index.ts
│ │ ├── generated
│ │ │ └── graphql.ts
│ │ ├── models
│ │ │ ├── AccessTokenModel.ts
│ │ │ ├── ChatMemberModel.ts
│ │ │ ├── ChatModel.ts
│ │ │ ├── DeviceTokenModel.ts
│ │ │ ├── MessageModel.ts
│ │ │ └── UserModel.ts
│ │ ├── resolvers
│ │ │ ├── Auth.ts
│ │ │ ├── Contacts.ts
│ │ │ ├── Device.ts
│ │ │ ├── Messages.ts
│ │ │ ├── Uploader.ts
│ │ │ └── User.ts
│ │ ├── scalars
│ │ │ ├── NonEmptyString.ts
│ │ │ ├── PhoneNumber.ts
│ │ │ ├── Timestamp.ts
│ │ │ └── index.ts
│ │ ├── schema.ts
│ │ ├── server.ts
│ │ ├── types.ts
│ │ └── utils
│ │ ├── Notifications.ts
│ │ ├── Redis.ts
│ │ ├── S3Policy.ts
│ │ ├── SocketEmitter.ts
│ │ ├── Twilio.ts
│ │ └── index.ts
│ ├── tsconfig.json
│ ├── tslint.json
│ └── yarn.lock
├── messenger-app
│ ├── App.tsx
│ ├── apollo.config.js
│ ├── app.json
│ ├── assets
│ │ ├── fonts
│ │ │ └── SpaceMono-Regular.ttf
│ │ ├── ic-send-24.png
│ │ ├── ic-send-24@2x.png
│ │ ├── ic-send-24@3x.png
│ │ ├── icon.png
│ │ ├── images
│ │ │ ├── icon.png
│ │ │ ├── robot-dev.png
│ │ │ ├── robot-prod.png
│ │ │ └── splash.png
│ │ ├── sources
│ │ │ └── ic-send.svg
│ │ └── splash.png
│ ├── babel.config.js
│ ├── codegen.yml
│ ├── components
│ │ ├── CircularProgress.tsx
│ │ ├── EmptyText.tsx
│ │ ├── Image.tsx
│ │ ├── Items
│ │ │ ├── DialogItem.tsx
│ │ │ ├── MessageItem.tsx
│ │ │ └── UserItem.tsx
│ │ ├── SearchUsers.tsx
│ │ └── UI
│ │ ├── Button.tsx
│ │ ├── HeaderRightButton.tsx
│ │ ├── IconContainer.tsx
│ │ ├── Input.tsx
│ │ ├── InputUsername.tsx
│ │ ├── ListItem.tsx
│ │ ├── LoaderSpinner.tsx
│ │ ├── PhoneCodeInput.tsx
│ │ ├── PhoneInput.tsx
│ │ ├── Picture.tsx
│ │ ├── PicturePicker.tsx
│ │ ├── Text.tsx
│ │ └── index.ts
│ ├── config.ts
│ ├── constans
│ │ └── index.ts
│ ├── context
│ │ ├── BadgeContext.tsx
│ │ ├── MessengerUploaderContext.tsx
│ │ ├── OnlineUsersContext.tsx
│ │ └── TypingContext.tsx
│ ├── graphql
│ │ ├── cache
│ │ │ └── Messenger.ts
│ │ ├── client.ts
│ │ ├── fragmentTypes.ts
│ │ ├── fragments
│ │ │ ├── MessangerFragments.ts
│ │ │ └── TokenFragment.ts
│ │ ├── generated.ts
│ │ └── queries
│ │ ├── Auth.ts
│ │ ├── Contacts.ts
│ │ ├── Device.ts
│ │ ├── Messages.ts
│ │ ├── Upload.ts
│ │ └── User.ts
│ ├── graphql.schema.json
│ ├── hooks
│ │ ├── useKeyboard.tsx
│ │ ├── usePrevious.ts
│ │ └── useSocket.tsx
│ ├── navigation
│ │ ├── AppNavigator.ts
│ │ └── MainStack.tsx
│ ├── package.json
│ ├── screens
│ │ ├── Auth
│ │ │ ├── ChooseCountryCodeModal.tsx
│ │ │ ├── EnterPhoneCodeScreen.tsx
│ │ │ ├── SignInScreen.tsx
│ │ │ └── SignUpScreen.tsx
│ │ ├── ChangeChatInfoScreen.tsx
│ │ ├── ChangeNameScreen.tsx
│ │ ├── ChangeUsernameScreen.tsx
│ │ ├── ChatMembers.tsx
│ │ ├── ConversationScreen.tsx
│ │ ├── CreateChatScreen.tsx
│ │ ├── DialogsScreen.tsx
│ │ ├── InviteGroupChatScreen.tsx
│ │ ├── NewMessageScreen.tsx
│ │ ├── PhotoViewerScreen.tsx
│ │ └── ProfileScreen.tsx
│ ├── storage
│ │ └── index.tsx
│ ├── styles
│ │ ├── Colors.ts
│ │ ├── Theme.tsx
│ │ └── index.ts
│ ├── translations
│ │ ├── en.ts
│ │ └── index.ts
│ ├── tsconfig.json
│ ├── types.d.ts
│ ├── utils
│ │ ├── CountryCodes.ts
│ │ ├── ImagePicker.ts
│ │ ├── PushNotifications.ts
│ │ ├── SnapFlatList.tsx
│ │ ├── Uploader.ts
│ │ └── index.ts
│ └── yarn.lock
├── messenger-socket
│ ├── Dockerfile
│ ├── package.json
│ ├── pm2.json
│ ├── src
│ │ ├── config.js
│ │ └── server.js
│ └── yarn.lock
└── redis
├── Dockerfile
└── redis.conf
Last updated