Правки на backend Node.js
5000 UAHPOST / image
- private/common/upload/image тут може відправлятись FormData об’єкт з кількома полями картинок
3.2 POST / specialization
- Нужно, чтобы пользователь мог выбрать одну категорию(IT, либо Logistics, либо другую) и несколько подкатегорий с этой категории. То есть, если он выбирает IT, он может себе выбрать несколько подкатегорий с IT, например React и Node Js, и пройти далее
3.3 POST / document
- private/common/upload/document тут також може відправлятись FormData об’єкт з кількома полями документів
3.4 POST / verification request, POST/get/status
- private/specialist/verification/account/request . Можна перевірити цей ендпоінт, я так розумію, що потрібно відправляти id, які повертаються у попередніх реквестах(private/common/upload/image, private/common/upload/document тощо). Вірно?
- private/specialist/verification/account/get/status . Якщо isRejected = true, то потрібно у відповіді отримати, який саме параметр з помилкою(фото, спеціальність, чи документи?).
- Мы можем изменить роль пользователя на специалиста только после успешного прохождения верификации специалиста. И когда мы отправляем реквесты private/specialist/verification/account/request или private/specialist/verification/account/get/status у нас не всегда пользователь в статусе успешного прохождения верификации ( при реквесте /verification/account/request так точно он не прошел верификацию). Поэтому, я думаю, можно ли переделать private/specialist/verification/account/request на private/client а private/specialist/verification/account/get/status на private/common. Если есть другие идеи пиши в ТГ).
4. User Data
- common/profile/data/get , було б добре у відповіді отримувати статус акаунту спеціаліста користувача. Наприклад, isApproved: boolean, isRejected: boolean, isPending: boolean. Просто при зміні ролі користувача з клієнта на спеціаліст за допомогою функціоналу на сайті, я б дивився на ці флаги і якщо isApproved = true, переводив на спеціаліста, а якщо isRejected або isPending true, то переводив на сторінку register-specialist і там показував би статус верифікації.
- common/profile/data/get , потрібно у відповіді, якщо у користувача немає аватарки, поле image зробити пустим “” , на даний момент там дефолтне посилання default.male.png.
- common/profile/data/get , потрібно у відповідь додати категорію та підкатегорії в яких працює юзер.
5. Districts
- public/districts/get/by/city/id, потрібно також у відповіді, в списку районів отримувати all, тобто всі райони відповідного міста.
6. Categories
- /public/categories/get/all . виправити картинки категорій
7. Sub-categories
- public/sub-categories/get/by/category/id невідповідність id підкатегорій з /public/specializations/get/all (тут є notSelected підкатегорія, під id 1, а в public/sub-categories/get/by/category/id немає).
8. Specializations
- Потрібен ендпоінт щоб можна було отримати всі підкатегорії згруповані за категоріями, до яких вони відносяться. Бажано з кількість спеціалістів у всій категорії та у кожній з підкатегорій окремо. (для all-category page) Приклад:
9. Find specialist by id
- /public/specialist/find/all чи реалізований пошук за id категорії, просто коли передаю id категорії при відправці запиту завжди вертається один спеціаліст, а також можна передати неіснуюче id і помилки немає. В принципі, можна перевірити цей ендпоінт? Чи реалізований пошук по всім параметрам разом і окремо.
10. Get adverts
- public/adverts/find/all потрібно добавити у відповідь ще підкатегорії, в яких спеціаліст працює, а також його місто та додаткові умови (Договорная цена, Завершающая уборка, Хорошее настроение тощо).
- public/adverts/get/by/id повертає “Advert not-found “, хоча за id 2 має бути оголошення, оскільки public/adverts/find/all повертає оголошення з цим id.
- public/adverts/get/by/id потрібно також додати у відповідь рейтинг спеціаліста (ratingPunctuality, ratingPrice, ratingWorkQuality, ratingCommon, ratingAverage).
- public/adverts/get/by/id, потрібно додати у відповідь особливі відмітки. Приклад з дизайну:
- public/adverts/get/by/id, потрібно додати у відповідь ціну за послуги.
- public/adverts/get/by/id, потрібно додати у відповідь дату створення свого акаунту спеціалістом.
- public/adverts/get/by/id, потрібно додати у відповідь чи оголошення в обраних, чи ні.
- public/adverts/find/all, потрібно додати у відповідь чи оголошення знаходиться в обраному, чи ні.
- public/adverts/find/all, необхідне сортування за ratingPunctuality, ratingPrice, ratingWorkQuality, ratingCommon, ratingAverage.
- Потрібен ендпоінт для отримання відгуків спеціаліста за його Advert id, з можливістю пагінації та сортуванням за датою додавання цього відгуку на платформу. Бажано отримувати такого плану response: {
Specialist: { "isVerified": true, "ratingPunctuality": 0, "ratingPrice": 0, "ratingWorkQuality": 0, "ratingCommon": 20, "ratingAverage": 0, "User": { "image": "https://aws-s3.dev-rating-pro.ru/main", "id": 2, "firstName": "Slavik", "lastName": "Timoschenko", "createdAt": "2021-12-25T20:24:16.000Z" }},reviews: }Приклад відгуку з дизайну:
- Потрібен ендпоінт для отримання всіх виконаних робіт спеціаліста за його Advert id, з можливістю пагінації та сортуванням за датою додавання цієї роботи на платформу.
Приклад з дизайну (може бути до 3 фото):
Бажано відповідь такого типу структури:
11) public/advert-facility-types/get
- У ендпоінтах з отримання advert-facility-types у відповідь необхідно додати іконки для кожного facility-type
12. Client advert
- private/client/instruments/adverts/create має приймати також параметр фото. Клієнт під час створення оголошення має можливість додати максимум 3 фото.
- private/client/instruments/adverts/update/by/id/:id має приймати також наступні параметри: specializationId, price, visits та фото.
12. Create specialist advert
- /specialist/instruments/adverts/create має приймати ще параметр “Ціни за послуги” (масив об’єктів з назвою послуги та її ціною)
- /specialist/instruments/adverts/create. При створенні оголошення спеціаліст може додати роботи, які він вже виконав в секції “Виконані роботи”. Необхідно реалізувати додавання цих виконаних робіт на бекенді.
Після кліку на кнопку випливає модальне вікно, де спеціаліст заповнює інформацію про свій виконаний проект:Спеціаліст може додати декілька виконаних робіт собі в оголошення.
13. Get specialist advert
- /specialist/instruments/adverts/get/by/id необхідно додати у відповідь “Ціни за послуги” та “Виконані роботи”. Бажано з такою структурою:
14. Update specialist advert
- specialist/instruments/adverts/update/by/id відповідно потрібно в респонсі оновлення також приймати “Ціни за послуги” та “Виконані роботи”
15. Favorite-adverts
- client/favorite-adverts/lists/get/by/id, при передачі id FavoriteAdvertList, викидує помилку "FavoriteAdvertList not-found", хоча FavoriteAdvertList з таким id існує (client-adverts/find/all його видає).
- client/favorite-adverts/lists/delete/by/id, викидає помилку при видаленні ("failed to delete FavoriteAdvertList"), при цьому список видаляє.
16. switch-to specialist or client
19. Get category and subCategories where specialist work
- потрібна можливість отримувати категорію та підкатегорії спеціальностей в яких спеціаліст працює. Наприклад, добавити у відповідь цього ендпоінта: /private/specialist/profile/data/get
20. private/specialist/projects/create
- Спеціаліст, перед створенням нового проекту, має підтвердити номер замовника з яким він хоче створити проект. Це є підтвердженням того, що вони справді зв'язувались і оговорили замовлення. Потрібен ендпоінт, щоб відправляти на підтвердження номер замовника і якщо замовник з таким номером існує в базі даних приходить true та id замовника. А спеціаліст проходить далі до створення проекту.
- Можна уточнити по параметрам які передають в цей ендпоінт private/specialist/projects/create? clientId - це id замовника? categoryId, subCategoryId - це спеціаліста?
- Також потрібно додати в ендпоінт параметр візити (<array>: <string>: ISO-8601: eg: 2021-11-21T16:00:00") на вхід в private/specialist/projects/create.
- Необхідно додати в ендпоінт параметр startAt (дата початку проекту).
- Необхідно додати в ендпоінт параметри city та district.
21. /client/projects/get/all
- Поле Specialist у відповіді має вітдавати масив з об'єктами спеціалістів, оскільки на оголошення клієнта можуть подати заявку декілька спеціалістів. В залежності скільки спеціалістів подали заявку, на стільки і буде заповнено масив.
- В об'єкті спеціаліста має також бути advertId спеціаліста, за яким він подався на оголошення клієнта.
22. /client/projects/get/by/id/:id
- /client/projects/get/by/id/:id потрібно у відповідь добавити місто проекту.
- Також у відповідь потрібно добавити об'єкт наявного коментарю до завершеного проекту з його відповідним id.
23. client/projects/review
- /client/projects/review/create. Поле reviewFiles в боді запиту приймає <array>: . Upload.id - це з відповіді /common/upload/image ???
25) Notifications
- private/specialist/notifications/get/all?offset=0&limit=2&order=desc&by=id викидає 500 помилку ("Your request could not be processed at the moment")
- client/notifications/settings/get or client/notifications/settings/set. Настройки сповіщень мають бути і для спеціаліста також, на даний момент тільки для клієнта.
- Потрібен окремий ендпоiнт для сповіщень про перегляди контакту спеціаліста, або можливість отримувати сповіщення за окремим типом з specialist/notifications/get/all.
- Потрібен функціонал прочитування сповіщень, тобто переводити з isRead: false в isRead: true.
- Потрібно отримувати загальну кількість непрочитаних повідомлень.
26) Показники
- Реалізувати ендпоінт для отримання показників спеціаліста
27) agreementWithSpecialist
- потрібні два ендпоінти (get та post) для реалізації модального вікна: “Чи зв'язались із спеціалістом?”.
За функціоналом типу reminder. Це модальне вікно відкривається в клієнта через 5хв після кліку на кнопку “Показати контакт спеціаліста”. Я думаю, що мають бути такі параметри в реквесті: параметр time в форматі timestamp;
-
177 1 1 Хорошо, у меня большой коммерческий опыт с React/Node/PWA.
Вот мой последний проект: http://shoebacca.com/
Если интересно, обращайтесь в ПП поговорим подробнее )
-
20 Я полноценный разработчик, который специализируется на бекенд-разработке. Я прошел все этапы цикла разработки от дизайна до готового продукта. Я хорошо владею многими языками программирования, включая JavaScript, Typescript, Python и Ruby. У меня большой опыт работы в блокчейн-индустрии, имея на плечах три полностью развернутые децентрализованные программы.
-
243 Добро пожаловать! Наша команда готова реализовать Ваш проект. Для более точной оценки было бы хорошо получить контакт для уточнения деталей. Детали можно обсуждать индивидуально. Мы ждем Ваших комментариев! С уважением, команда Brille.Dev!
-
868 20 0 Доброго дня!
Задача понятна, необходимо будет пересмотреть материалы уже существующего сайта и базы данных.
Срок: 8 дней
Стоимость: 8000 грн. (более точные цены и сроки после обсуждения)
Мой портфолио:Freelancehunt
Мой стек:
… HTML/CSS/JS/SCSS/BEM/Figma/React.js/Node.js
Свяжитесь со мной и мы обсудим все детали. Будем рады нашему сотрудничеству!
С уважением Тетяна.
-
688 12 0 Доброго дня ,
Готов справиться с вашими задачами.
Более точные цены и сроки после ознакомления с проектом.
Пишите, я буду рада сотрудничать.
-
1693 14 0 Добрый день, готов справиться с вашими задачами.
Оценить время и объем работы не могу точно... Нужно посмотреть на проект.
Напишите в личном, обсудим детали мне интересно выполнить ваши задачи.
С уважением Денис.
Актуальные фриланс-проекты в категории Javascript и Typescript
Full-stack разработка — Amazon PPC Dashboard (Stage 1)Нужен full-stack разработчик с опытом работы с Amazon API для реализации Stage 1 внутреннего PPC-дашборда. Проект реальный, данные живые, всё готово к старту. Прототип фронтенда (5 страниц, React + TypeScript): ЧТО УЖЕ ГОТОВО — Фронтенд-прототип на React 18 + TypeScript + Vite… Javascript и Typescript, Веб-программирование ∙ 1 день 15 часов назад ∙ 27 ставок |
Разработка сайта-конструктора фотокниг и фоторамокЦель проекта Необходимо разработать современный веб-сайт для заказа фотокниг, фоторамок и другой персонализированной фотопродукции. Главная задача проекта — предоставить клиенту возможность самостоятельно создать готовый макет изделия непосредственно на сайте без участия… Javascript и Typescript, Веб-программирование ∙ 3 дня 7 часов назад ∙ 96 ставок |
Команда для самописного маркетплейса ритуальных услуг.Ищем команду для запуска и развития самописного национального маркетплейса ритуальных услуг. Сразу: не ищем одиночек, джунов и “сборщиков сайтов”. Нужна сильная продуктовая команда уровня middle+/senior с реальными кейсами маркетплейсов/сложных SaaS. Просьба не откликаться,… Javascript и Typescript, Веб-программирование ∙ 4 дня 2 часа назад ∙ 27 ставок |
Доработка существующего Next.js/Supabase проекта: офферы, CRM, аналитика, AI-чатЕсть действующий проект WatchGenius — платформа аналитики люксовых часов с каталогом моделей, ценовой аналитикой, внешними офферами, формами заявок и AI-чатом. Проект уже разработан частично. Нужен не сайт с нуля, а опытный full-stack разработчик, который сможет разобраться в… Javascript и Typescript, Веб-программирование ∙ 6 дней 3 часа назад ∙ 55 ставок |
Ищу Senior Full-Stack разработчика (Payload CMS) — миграция 2 сайтов гостиничной сетиСеть курортных отелей переходит с Webflow на собственный headless-стек. Два корпоративных сайта (~140 страниц вместе), multi-tenant архитектура — один код обслуживает несколько отелей на разных доменах. Проект уже стартовал: инфраструктура развернута, tenants настроены, базовые… CMS, Javascript и Typescript ∙ 10 дней 1 час назад ∙ 19 ставок |