Доработка сайта на CMS Subdreamer
Разработка внутреннего мессенджера
Общий функционал похож на скайп.
Слева контакты: пользователи, групповые чаты, "прикрепленные" чаты (обсуждения объектов, задач, событий, формируемых в других модулях), а также - в дальнейшем - контакты, подтянутые из сторонних мессенджеров по API. Сортировка - по важности и хронологии. Т.е. сообщения, помеченные как "экстренные" и "срочные" выталкивают контакт наверх, независимо от того, сколько "обычных" сообщений пришло позже.
Все однажды начатые чаты хранятся в отдельной таблице и не удаляются (но могут быть помечены как "удаленные" юзером с соответствующими правами и не показываться в списке контактов).
Каждый чат хранит следующую инфу:
- ID
- Тип чата (ниже)
- id автора (создателя чата)
- Тип объекта, к которому "привязан" чат (типы - отдельная таблица), 0 - ни к чему не привязан. Чат, привязанный к объекту 1, привязанный к объекту 2 и не привязанный ни к чему - это три разных чата, даже если участники одни и те же.
- ID объекта (может быть пустым)
- Время создания
- Время последнего сообщения
- список участников (отд. таблица).
Типы чатов:
- Диалог (юзер-юзер) - создается, как только один юзер написал другому.
- Групповой - создается юзером по соответствующей кнопке "создать групповой чат" с последующим выбором участников. В чат можно добавлять участников в процессе, при этом он становится групповым. Если чат до этого был диалогом, диалог сохраняется неизменным, и формируется новый (пустой) групповой чат.
- Привязанный - то же, что и групповой, но создается "извне".
Каждый юзер в системе имеет реквизиты своих мессенджеров, доступных по API, и может добавлять в чат контакты оттуда. Т.е. если в чате юзер1 и юзер2, затем юзер2 добавил своего абонента из ватсапа, то в чате участвуют трое, все сообщения попадают в чат и отсылаются в мессенджер добавленному абоненту.
Поскольку интеграция с мессенджерами будет выполняться позже, сейчас нужно предусмотреть следующий функционал:
- таблица с типами мессенджеров: ID, название.
- таблица с их реквизитами для юзеров: id юзера. id мессенджера. логин, пароль, дополнительные дланные (пока просто текстовое поле, что и как там будем хранить - будет зависеть от мессенджера).
- Таблица с внешними контактами: юзер, мессенджер, имя контакта, доп инфа (свободное текстовое поле).
- функция получения контактов юзера из выбранного мессенджера и функция отправки сообщения через выбранный мессенджер с аккаунта юзера определенному контакту - пока просто заготовки, пусть возвращают false.
Функция создания чата должна принимать параметры: тип чата, тип объекта, id объекта, id юзера, список юзеров-участников, список "сторонних" контактов. Обязательный параметр - только тип. Возвращает ID созданного чата.
Переписка: обычный текст, тэги сообщения (отдельная строка с функцией автозаполнения. можно последовательно выбрать несколько тэгов) плюс отправка файлов. Файлы складируются в папке attachments/files_messenger. В базе фиксируется каждое сообщение: id чата, юзера-отправителя, стороннего контакта-отправителя, дата-время (все даты в timestamp), id файла, приоритет. Для файлов отдельная таблица: id, источник (пока пусть будет 1 - чат, дальше будут и другие), оригинальное название, "внутреннее" название (формируется при сохранении, можно использовать uniquid или что-то другое, обеспечивающее уникальность) - под этим именем файл сохраняется на диске.
Приоритет - обычное, срочное, экстренное.
Настройки доступа: Есть специальный модуль plugins/p1001_options, страница nastrojki.html, где можно создать свой набор настроек, задаваемых отдельно для каждой группы пользователей. Эти настройки попадают в таблицы qx2_plugin_options (собственно описание настроек) и qx2_plugin_optval (их значения для групп). Дальше их можно использовать внутри плагина. При помощи этих настроек нужно организовать права доступа:
- управление списком чатов: видны все чаты, фильтрация и сортировка по пользователю, типу/id объекта, дате создания, дате последнего сообщения. Возможность удалять чаты (не удалять физически. а помечать в базе как "удаленные", после чего юзеры перестают их видеть, но управляющий может восстановить)
- отправка срочных и экстренных сообщений
Функции, используемые извне: создание чата (уже описывал), отправка сообщения в чат - указывается id чата, юзера-отправителя (0 - системное), собственно сообщение (текст, тэги, файл, статус). Возвращает true|false
проверка новых сообщений для пользователя. Как лучше организовать (признак "прочитано", по времени захода юзера в чат/последнего сообщения в чате, или как-то еще) - без разницы, главное, чтобы функция возвращала ID сообщений, которых юзер еще не видел.
Aktualne zlecenia dla freelancerów w kategorii Programowanie stron internetowych
Automatyzacja wysyłania KP w wiadomościach na LinkedIn, WhatsApp, Reddit
838 PLN
Potrzebna automatyzacja wysyłania wiadomości z linkiem do KP na LinkedIn, WhatsApp, Reddit, napisz, jak to będzie zrealizowane, terminy i koszt AI i uczenie maszynowe, Programowanie stron internetowych ∙ 2 godziny 38 minut temu ∙ 27 ofert |
Przyspieszenie działania strony (optymalizacja kodu)
168 PLN
1. Należy przeprowadzić analizę strony i zoptymalizować kod dla szybkiego ładowania strony. 2. Przeprowadzić analizę strony pod kątem błędów i je poprawić. Programowanie stron internetowych ∙ 7 godzin 45 minut temu ∙ 54 oferty |
Przeprowadzka z hostingu na innyDzień dobry Planuję przenieść stronę z hostingu Ukraina na hosting.works. Należy również skonfigurować regułę, że jeśli ruch z jakiegoś IP przekroczy na przykład 100 zapytań dziennie, to należy zablokować. Content Management Systems, Programowanie stron internetowych ∙ 11 godzin 18 minut temu ∙ 76 ofert |
Stworzenie strony internetowej dla agencji zatrudnienia
4190 PLN
Jesteśmy agencją zatrudnienia, i szukamy doświadczonego programisty webowego do stworzenia nowoczesnej i przyjaznej strony internetowej. Chcemy, aby kandydaci mogli samodzielnie zaproponować swoją cenę za usługę. Dlatego szukamy specjalisty, który ma doświadczenie w… Programowanie stron internetowych ∙ 12 godzin 8 minut temu ∙ 111 ofert |
Poprawa konwersji CR strony internetowej
545 PLN
Poprawa konwersji CR strony. Zadania według TŻ https://docs.google.com/document/d/1Y7zipbe2IEnFpthYuheAr6QA_50aR2Fz8V14rp5NpNo/edit?usp=sharingPrzycisk REZERWUJ TERAZ zdjęcie / wideokrótki tekstI OD RAZU formularz rezerwacjistały (sticky)powtarzać się co 1–2 blokijednakowego… Układ HTML i CSS, Programowanie stron internetowych ∙ 15 godzin 22 minuty temu ∙ 37 ofert |