- На данный момент реализовывается основной каркас мессенджера: отправка сообщений одного пользователя другому через сервер с кешированием данных на персональном устройстве.
- Реализованы следующие модули:
- Унарный метод передачи сообщения клиент-сервер.
- Отображение страницы профиля.
- Отображение страницы чатов, выбор чатов, сообщения.
- Отображение загрузки сообщения на сервер.
- Работает отправка сообщения, запись в локальную базу и серверную базу.
- Реализованы сигналы на основе изменения БД, подключение к интернету.
- Реализована инициализация локальной БД. При ее отсутствии создается локальная БД с первоначальными таблицами. Реализованы CRUD-операции. Реализована прослушивание изменение в локальной БД
После клонирования перед запуском прописываем в консоль:
- Вы должны находится в директории приложения
dart pub getилиflutter pub get- Переходим в директорию сервера
cd \serverdart pub get
Генеация прото файла для клиента:
protoc -I .\proto\ .\proto\chats.proto --dart_out=grpc:./lib/src/generated/chatsprotoc -I .\proto\ .\proto\messages.proto --dart_out=grpc:./lib/src/generated/messagesprotoc -I .\proto\ .\proto\users.proto --dart_out=grpc:./lib/src/generated/usersprotoc -I ./proto/ ./proto/grpcsynh.proto --dart_out=grpc:./lib/src/generated/sync
Генерация прото файла для сервера
protoc -I .\proto\ .\proto\chats.proto --dart_out=grpc:./server/lib/src/generatedprotoc -I .\proto\ .\proto\messages.proto --dart_out=grpc:./server/lib/src/generatedprotoc -I .\proto\ .\proto\users.proto --dart_out=grpc:./server/lib/src/generatedprotoc -I ./proto/ ./proto/grpcsynh.proto --dart_out=grpc:./lib/src/generated/sync
Запуск gRPC сервера:
- Вы должны находится в директории
flutter_chap_app dart .\server\bin\server.dart
Запуск REST сервера:
- Вы должны находится в директории
flutter_chap_app dart .\server\bin\restApi\rest_server.dart
Можем запускать приложение:
- Вы должны находится в директории
flutter_chap_app flutter run
При ошибках с grpc или Базой:
Проверьте что база создана (Создается на каждом пк отдельно, тк файлики .dart_tool в .gitignore)
Для проверки успешной записи в базу раскомментировать нужные строки(создать базу) в файле:
\server\lib\src\test_db\test.dart
Запуск проверки серверной бд:
dart .\server\lib\src\test_db\test.dart
Каждый шаг выполнять в отдельной консоли, не закрывая предыдущие.
- Запустить gRPC сервер
- Запустить REST сервер
- Запустить клиент (
flutter run)
-
В консоли из директории приложения запустить команду
./run_server.sh.
Скрипт запустит pub get как для основного приложения, так и для сервера; сгенерирует protoc для grpc; запустит сервер в консоли).
- Открыть консоль bash.
- Запустить команду `./run_rest_server.sh
- Открыть новый терминал
- В открытом терминале открыть выпадающий список launch profiles
- Выбрать bash





