Budżet: 15000 RUB Termin: 30 dni
Добрый день, давно работаю с MERN stack + typescript могу помочь вам с реализацией данного проекта, если интересно пишите, буду рад сотрудничеству
Terra - это сервис для психотерапевтов и их клиентов, чтобы создавать и проходить упражнения в интерактивном режиме во время или после сессии. В прототипе в качестве упражнения будет только выбор карт из загруженного набора, но в будущем будут добавлены другие упражнения, это первая итерация.
Я ожидаю, что это будет MERN (Mongo Express ReactJS NodeJS, отлично если на TypeScript) приложение, которое можно будет просто развернуть на сервере по созданной исполнителем инструкции (как установить зависимости, собрать, запустить) и поддерживать в будущем.
По дизайну/верстке пока можно использовать Bootstrap или другие схожие современные готовые UI фреймворки.
Интерактивный макет: https://invis.io/ZJVWQDQ345K
ТЗ в гугл доке со скриншотами: https://docs.google.com/document/d/1m2XKEMaFaSthtu...
Копипаста:
Сервис состоит из следующих экранов:
Окно авторизации
Список заданий
Список упражнений
Создание/редактирование задания
Создание/редактирование упражнения
Экран терапевта - Просмотр результата задания
Экран клиента - Запущенное упражнение
Экран клиента - Просмотр результата задания
Список основных терминов приложения:
Терапевт - один из главных типов пользователей приложения, специалист-психотерапевт, проводящий сессии общения с Клиентом онлайн или оффлайн, во время которых он помогает решить его личные проблемы с помощью общения и выполнения различных упражнений. Пока что считается, что терапевты - единственные пользователи панели сервиса, клиенты же только переходят по ссылкам на задания, полученные от терапевтов.
Клиент - один из главных типов пользователей приложения, человек, который решает свои проблемы с профессиональной помощью Терапевта. На данном этапе считается, что у клиента нет своей панели и с сервисом он взаимодействует только по ссылке задания от терапевта и у него нет своего аккаунта.
Упражнение - это абстрактное название задачи, которую будет выполнять тот или иной клиент какого-то терапевта во время или после сессии (как домашнее задание). На текущий момент все упражнения будут создаваться терапевтом и будут связаны с выбором карт из заранее собранного набора, но в будущем задания могут быть совсем разных типов (например “закончи предложения”, “нарисуй ...” и тп) и могут быть куплены у сервиса. Возможно повторное использование одного упражнения во многих заданиях (с кастомизацией при создании задания).
Задание - это конкретная задача, которая будет выполняться конкретным клиентом конкретного терапевта. Задание создается терапевтом для конкретного клиента и затем он передает ссылку на выполнение задания клиенту сообщением в мессенджере или через электронную почту. После выполнения задания и клиент и, терапевт могут просмотреть результаты выполнения упражнения и вместе обсудить их на сессии. Задание одноразовое и повторное его прохождение невозможно, только создать новое.
Подробнее про каждый экран:
Окно авторизации
Это окно входа пока только для существующего терапевта. В БД руками будет внесена почта и пароль (в бд должен храниться хеш scrypt от пароля), при авторизации почта и пароль передаются на сервер, там вычисляется хеш и проверяется с хешем из базы. В случае их равенства пользователя перенаправляет на экран “2 - Список заданий”.
Список заданий
На этом экране терапевт видит таблицу с ранее созданные заданиями и их статусы: выполненные (зеленые), запущенные (желтые) и созданные (белые).
Терапевт может создать упражнение после нажатия на кнопку “Создать”. После этого он попадает на экран “4 - Создание или редактирование задания”, где выбирает упражнение, вводит имя клиента и прочую информацию и возвращается в список заданий. Когда задание только создано, то оно получает статус “Созданное” и отображается в таблице с белым фоном. После создания терапевт передает ссылку на задание нажатием кнопки “Скопировать ссылку” (ссылка на каждое задание уникальное), когда клиент заходит на страницу с заданием, то задание получает статус “Запущенное”. При этом терапевт больше не может менять задание и если даже придет запрос на изменение через API, то оно не должно быть сохранено. Когда клиент выполнит все необходимые шаги задания, то задание получает статус “Завершенное”. У такого упражнения появляется кнопка “Результаты”, по нажатию на которую терапевт может посмотреть выбор и ответы клиента (в режиме read only).
Также тут должна быть пагинация, по 10 заданий на страницу, отсортированных по дате создания (новые сверху).
Кроме того над таблицей есть фильтр, по нажатию на который можно фильтровать задания по статусу. По умолчанию все кнопки активны - значит будут отображаться все задания. Если деактивировать например кнопку “Запущенные”, то запущенные задания пропадут. Кнопки имеют такой же цвет фона, что и задания в таблице и являются также подсказкой для пользователя по цветам и их смыслам.
Обновление таблицы заданий должно обновляться с Server Side Events, то есть когда клиент открыл страницу задания и сделал какое-то действие (не просто открыл, а например уже выбрал одну карту), то в таблице заданий терапевта она должна обновить свой статус без обновления страницы.
Список упражнений
На этом экране терапевт видит созданные им упражнения, может создать новое, изменить существующее или создать задание из упражнения.
При нажатии в хедере на ссылки Задания и Упражнения происходит переход на соответствующий список.
При нажатии на кнопку “Создать” терапевт переходит на экран “5 - Создание/редактирование упражнения”. При нажатии на кнопку “Создать задание” терапевт переходит на экран “4 - Создание или редактирование задания”.
Тоже должна быть пагинация, 10 на страницу, сортировка по дате создания, сначала новые.
Создание/редактирование задания
Форма создания нового задания. Если переход был произведен из списка упражнений, то в пункте упражнение должен быть выбран пункт соответствующего упражнения, на котором было нажато “Создать задание”. Текст упражнения и количество карт для выбора должно быть взято из упражнения, но на этом экране пользователь может изменить их для своего задания. Все поля не могут быть пустыми, количество >= 1. При выборе упражнения если название пустое или такое же, как у предыдущего упражнения (если пользователь его не менял), то оно должно замениться на название упражнения. По кнопке создать задание создается и происходит переход в список заданий.
Создание/редактирование упражнения
Форма создания нового упражнения. Название не может быть короче 3 символов. Текст упражнения может быть пустой. Самое интересное здесь - пикер картинок, должно быть можно выбирать их в диалоговом окне или перетаскивать драг н дропом откуда-то. После этого надо чтобы можно было поменять их порядок или удалить какие-то, добавить новые. Отображать их лучше в виде плиток одинакового размера. При нажатии кнопки создать происходит переход в список упражнений.
Экран терапевта - Просмотр результата задания
После выполнения задания клиентом терапевт переход в список заданий, видит выполненное, нажимает на “Результаты” и попадает на этот экран. Тут должна быть read only информация со всеми полями по заданию и view результатов такая же, как у клиента.
Экран клиента - Запущенное упражнение
Самый сложный по UI логике экран. Это экран задания, на который попадает клиент, когда переходит по ссылке задания из сообщения терапевта. Тут он видит название задания, текст с инструкцией, coverflow carousel из картинок карт, ниже панель куда надо их перетащить и кнопка “Закончить”. Соответственно клиент должен выбрать N карточек и перетащить их с помощью drag n drop в специальную зону, где создается карточка содержащая эту картинку и поле ввода описания почему именно эта карта. После выбора требуемого N карт активируется кнопка “закончить” и клиент переходит на экран “8 - Экран клиента - Просмотр результата задания”. Теперь задание получает статус выполненного и его результат теперь может посмотреть и терапевт. Если клиент заходит повторно по ссылке задания, которое он уже выполнил, он должен сразу попадать на страницу просмотра результата.
Если клиент не закончил с заданием (зашел посмотреть или что-то потыкал и ушел) и закрыл вкладку (или по timeout бездействия), то статус задания должен вернуться из “Запущенное” в “Созданное”, а все элементы должны стать заблокированными и появиться диалог с требованием обновить страницу. Все эти изменения с помощью Server Side Events должны обновляться в таблице заданий терапевта.
Экран клиента - Просмотр результата задания
На этот экран клиент попадает после выполнения задания. Он может вернуться сюда по исходной ссылке задания. На этой странице задание, read only ранее выбранные карты и своё описание чтобы обсудить их с терапевтом.
Budżet: 15000 RUB Termin: 30 dni
Добрый день, давно работаю с MERN stack + typescript могу помочь вам с реализацией данного проекта, если интересно пишите, буду рад сотрудничеству
Budżet: 15000 RUB Termin: 1 dzień
Здравствуйте. Готов к сотрудничеству. Опыт frontend разработки 5 лет. Есть опыт с указанным стеком технологий. Рейт 14$/час.
Potrzebne jest opracowanie własnej usługi internetowej do automatyzacji pracy kawiarni i małych lokali gastronomicznych. Funkcjonalność produktu ma być podobna do Poster POS, ale z własnym designem, architekturą i kodem źródłowym. Kopiowanie kodu lub interfejsu Poster nie jest przewidziane. Planowane jest stworzenie pełnoprawnego komercyjnego produktu SaaS, z którego w przyszłości będą mogły korzystać różne kawiarnie na zasadzie subskrypcji.Na pierwszym etapie należy opracować MVP Podstawowa funkcjonalność: rejestracja i autoryzacja właściciela lokalu; tworzenie jednego lub kilku lokali; zarządzanie pracownikami i rolami; katalog produktów, kategorii i modyfikatorów; dodawanie rozmiarów, smaków i dodatkowych opcji; interfejs kasowy do realizacji sprzedaży; otwieranie i zamykanie zmiany kasowej; różne metody płatności; zwroty i anulowanie zamówień; ewidencja stanów magazynowych i odpisywanie towarów; podstawowa ewidencja magazynowa; historia sprzedaży; raporty dotyczące przychodów, towarów, zmian i pracowników; program lojalnościowy dla klientów; adaptacyjna praca na tablecie, laptopie i smartfonie; panel administracyjny właściciela usługi; plany taryfowe i ograniczenia zgodnie z taryfą.W przyszłości planowane jest aplikacja mobilna; integracja z terminalami płatniczymi; drukowanie paragonów; integracja z usługami fiskalnymi; dostawa i zamówienia online; rezerwacja stolików; rozszerzona analityka; API do integracji zewnętrznych; integracja z systemami księgowymi i CRM.Ważne wymagania system musi być zaprojektowany do pracy wielu niezależnych lokali; dane każdego klienta muszą być izolowane; należy przewidzieć skalowalność produktu; potrzebna jest bezpieczna praca z danymi finansowymi i osobowymi; kod musi być zorganizowany i nadający się do dalszego rozwoju; potrzebna jest dokumentacja techniczna; prawa do kodu źródłowego po zapłacie przechodzą na zamawiającego. Design w tym momencie jest nieobecny, dlatego należy osobno ocenić UI/UX design lub zaproponować gotowe rozwiązanie dla MVP.W ofercie proszę wskazać doświadczenie w tworzeniu SaaS, POS, CRM, ERP lub systemów księgowych; przykłady podobnych prac; proponowany stos technologii; skład zespołu; orientacyjną cenę MVP; czas realizacji; co dokładnie wchodzi w proponowaną cenę; koszt dalszego wsparcia; czy są gotowi pracować etapami z płatnością za każdy zakończony etap. Preferencje dla wykonawców lub zespołów, które już opracowały systemy kasowe, magazynowe, restauracyjne lub wieloosobowe SaaS.
Stos technologiczny - React: Responsywne i dynamiczne tworzenie front-endu - Node.js: Solidne operacje backendowe - Web3: Integracja kryptowalut w wielu łańcuchach - Solidity: Tworzenie inteligentnych kontraktów Cel projektu Opracowanie kompleksowej platformy stakingowej w wielu łańcuchach dla popularnego ekosystemu gier, umożliwiającej płynne interakcje z kryptowalutami, integrację rynku NFT oraz poprawioną jakość doświadczeń użytkowników w wielu sieciach blockchain kompatybilnych z EVM. Whitepaper Byliśmy więcej niż tylko studiem gier mobilnych; jesteśmy wizjonerami i innowatorami w świecie gier. Nasza drużyna składa się z talentów branży gier mobilnych i pasjonatów gier, a jej celem jest przesuwanie granic tego, co możliwe w grach mobilnych. Nasza ekspertyza koncentruje się na hybrydyzacji gatunków, aby stworzyć coś naprawdę unikalnego, co dostosowujemy do przejścia z gier Web2 do tytułów gier Web3. Od wyścigowych RPG po gry strategiczne akcji, nieustannie eksperymentujemy i łączymy gatunki, aby oferować nowe doświadczenia w grach. Nasze gry to nie tylko forma rozrywki; to immersyjne podróże, które angażują, wyzywają i fascynują naszych graczy. Uosabiamy naszą misję, aby nie tylko bawić, ale także przenosić naszą publiczność do niezwykłego wszechświata interaktywnego świata w grach Web3. - Tworzenie front-endu - Tworzenie back-endu - Przeprojektowanie strony docelowej - Integracja w wielu łańcuchach - Rynek NFT - Testowanie i zapewnienie jakości - Wdrożenie i utrzymanie
Strona internetowa jest już uruchomiona i działa. Główne zadanie to zrozumienie obecnej struktury projektu, sprawdzenie jakości realizacji, naprawienie znalezionych problemów technicznych oraz pomoc w dalszych zmianach.Główna technologia Next.js 15 React 19 TypeScript Tailwind CSS Zod Redux Toolkit W projekcie mogą być również używane: Prisma JWT-uwierzytelnianie Stripe Mailgun Google APIs Vercel lub Netlify FunctionsGłówne zadania przeprowadzenie audytu istniejącego projektu; ocena struktury i jakości kodu; naprawa błędów i rozwijanie obecnej funkcjonalności; poprawa renderowania po stronie serwera i szybkości ładowania stron; sprawdzanie poprawności wyświetlania strony na urządzeniach mobilnych; praca z formularzami, częścią administracyjną i zewnętrznymi integracjami; wnoszenie technicznych zmian SEO; wspieranie i stopniowe ulepszanie istniejącej strony.Co jest dla nas ważne dobre doświadczenie w pracy z Next.js, React i TypeScript; umiejętność rozumienia cudzych kodów; zrozumienie SSR i specyfiki Next.js App Router; uwaga na wydajność i jakość realizacji; umiejętność wyjaśniania znalezionych problemów i proponowania zrozumiałych rozwiązań; samodzielność i staranna praca z działającą stroną. Na pierwszym etapie należy zapoznać się z projektem, przeprowadzić audyt techniczny i zaproponować listę priorytetowych zmian. Po tym możliwa jest stała praca nad dalszym rozwojem strony.
Potrzebna jest разработка formularza online rejestracji dla salonu kosmetycznego oraz jego integracja z istniejącą stroną (landing). Strona jest w fazie rozwoju (na HTML, CSS, JS). Na stronie nie ma własnej bazy danych (i nie jest planowana), dlatego należy zaproponować darmowe rozwiązanie do przechowywania i zarządzania danymi, które będzie proste w administracji i stabilne w działaniu. Wymagana funkcjonalność: ładowanie listy kategorii usług; ładowanie usług zgodnie z wybraną kategorią; ładowanie listy mistrzów, którzy wykonują wybraną usługę; wyświetlanie dostępnych dat i wolnego czasu zgodnie z grafikiem pracy mistrza; tworzenie rejestracji z automatycznym blokowaniem wybranego czasu; ochrona przed podwójną rezerwacją. Dane w formularzu: imię; numer telefonu; kategoria usług; usługa; mistrz; data; czas; komentarz (nieobowiązkowo). Administracja: Powinna być możliwość: dodawania i edytowania kategorii usług; dodawania i edytowania usług; dodawania i edytowania mistrzów; ustawiania grafiku pracy każdego mistrza; zarządzania dniami wolnymi, urlopami i innymi okresami niedostępności; przeglądania, edytowania i anulowania rejestracji klientów. Proszę o podanie: jakie rozwiązanie proponujecie do przechowywania danych; orientacyjną cenę; termin realizacji. Projekt nie jest ważny, najważniejsza jest funkcjonalność. Osoba, która robi szablon strony, sama dostosuje go do odpowiedniego projektu.
W moim Google Excel jest pewna logika związana z integracją z API Nowej Poczty i API Turbosms. Ogólnie wszystko działa dobrze, ale trzeba dopisać pewną funkcjonalność. Wszystkie szczegóły przy korespondencji. Dostęp do Excela i kodu dam. Dla wykonawcy ogólnie obowiązkowe jest posiadanie doświadczenia w pracy z Google Excel JS w Apps Script.