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

Was this helpful?