Напишіть простий сервер блогу на node.js/express/mongodb
Фронтенд не потрібен
Потрібно тільки бекенд і апі, щоб з ним спілкуватися.
Потрібна аутентифікація сучасна через jwt (реєстрація/аутентифікація/логаут)
Потрібні категорії прості (додавання / редагування / видалення)
Потрібні матеріали блогу (додавання / редагування / видалення)
Потрібно завантажувати і оптимізувати зображення за встановленими параметрами.
...Все
1 .Використовуйте наступні плагіни найновішої версії з npm:
Експрес
Конфігурація
Монгоза
Інші розмовляють окремо.
Аппі - все в JSON форматі
Успішний відповідь завжди має OK: 1
Неуспішний завжди має поле помилки, якщо є текст помилки то ось так
{error: {msg: 'text error'}}
Якщо будь-яке поле неправильно заповнене кількість відповіді ось такий
{ {
Помилка в тому: {
Дата перегляду: {
Заголовок : {
msg: 'Тайтл заповнений неправильно',
,
Пароль : {
msg: 'Треба заповнити пароль',
,
,
msg: 'Загальне повідомлення про помилку',
,
2 .Авторизація :
Модель користувача
Електронна пошта: {type: String, require: true, unique: true},
пароль: {type: String, require: true},
Статті: [{type: Types.ObjectId, ref: 'Article'}],
АПІ :
POST: /api/auth/registration (електронна пошта)
Перевірка того, чи є електронною поштою
Пароль має бути більше 8 символів.
Приклади відповіді: {ok: 1}
{error: {msg: 'Електронна пошта зайнята'}}
POST: /api/auth/login (електронна пошта)
при успішній аутентифікації у відповідь відправляємо jwt токен і id/email користувача
{Token: «...»,userId: 'Ідішник з mongo', userEmail: 'xxxx'}
3 .КатегоріїМодель категорії
Title: {type: String, require: true},
код: {type: String, require: true, unique: true},
IsRemoved: {type: Boolean, default: false}
Статті: [{type: Types.ObjectId, ref: 'Article'}],
АПІ: (на всі АПІ потрібна перевірка того, що користувач авторизований)
GET: /api/category/list
{category: [{id: 'xx', code: 'xx', title: 'xxx'}, ...]
POST: /api/category/add (code title)
Перевірка того, щоб код був тільки латинськими буквами і шрифтом.
Назва повинна бути
відповідь {category: {id: 'xx', code: 'xx', title: 'xxx'}}
POST: /api/category/edit/:idcategory (code♰title)
Аналогічно Апі вище
Пост: /api/category/remove/:idcategory
... аналогічно апі вище без перевірки (змінює тільки поле isRemoved = true)
POST: /api/category/recover/:idcategory
... аналогічно апі вище без перевірки (змінює тільки поле isRemoved = false)
ЧетвертийМатеріали блогуМодель матеріалу блогу
Title: {type: String, require: true},
код: {type: String, require: true, unique: true},
mainImage: {type: String} ,
shortDescr: {type: String} ,
дескр: {type: String}
owner: {type: Types.ObjectId, ref: 'User'},
категорія: {type: Types.ObjectId, ref: 'Category'},
IsRemoved: {type: Boolean, default: false}
... аналогічно апі на список матеріалів/додавання/редагування/усунення/обновлення
Детальніше перевірки доставимо до виконавця.
5 .Завантаження зображеньАпі з перевіркою на аутентифікацію, приходить файл перевірити його на розмір і на те, що він png або jpg
Якщо png то перетворити в jpg
Зберегти початкову картину
оптимізувати зображення (я використовував плагін imagemin) повернути в додаток посилання на зображення
Стиль коду:
1 .Відстань у двох пробілах
2 .В кінці ліній; не ставити
Відгук замовника про співпрацю з фрилансером
Напишіть простий сервер блогу на node.js/express/mongodbВсе чудово! Все чудово! Все чудово! Все чудово!
![]()
Відгук фрилансера про співпрацю з замовником
Напишіть простий сервер блогу на node.js/express/mongodbОтличный заказчик, с хорошо поставленными задачами.
![]()
-
Возьмите в использование CMS https://keystonejs.com/ будет быстрее чем с нуля. Намного
-
Стиль кода:
1. Отступы в два пробела
2. В конце строчек ; не ставить
За это прям респект! 🙂
-
Актуальні фриланс-проєкти в категорії Javascript та Typescript
Розробка інтерактивної карти Palworld для сайтуПотрібно розробити інтерактивну карту Palworld за прикладом: https://palworld.gg/map Нам потрібна не просто статична картинка, а повноцінна інтерактивна карта, де користувач може дивитися локації, вмикати / вимикати категорії об’єктів, шукати потрібні точки та взаємодіяти з… HTML та CSS верстання, Javascript та Typescript ∙ 2 години 36 хвилин тому ∙ 12 ставок |
Розробка платформи AM Mobility (автосервіс, парковка, страхування, оренда автомобілів)
259 176 UAH
Шукаємо команду або досвідченого Full Stack розробника для створення MVP платформи AM Mobility. AM Mobility — це єдина цифрова екосистема для автомобілістів, що об'єднує в одному додатку та веб-платформі: парковку; автосервіс; шиномонтаж; автомийку; оренду автомобілів;… Javascript та Typescript, Веб-програмування ∙ 5 днів 8 годин тому ∙ 114 ставок |
Gsap анімації
1000 UAH
Доброго дня. Треба внести правки в поточному проєкті. Потрібен фахівець, який добре працює на gsap/lenis Треба зробити анімацію карточок. Детально ТЗ тут: https://www.figma.com/design/5bLEJudN5LPpB9ZSoJa2Eb/Untitled?m=auto&t=qwyluUctL1lrMNvh-6 Треба проявити креатив та… Javascript та Typescript, Веб-програмування ∙ 5 днів 14 годин тому ∙ 21 ставка |
Шукаю наставника з Claude Code для запуску веб-проєкту з нуля**Коротко про завдання:** Я новачок без досвіду в програмуванні. Є готове ТЗ на розробку сайту (42 сторінки, Next.js, PostgreSQL). Хочу реалізувати його самостійно за допомогою Claude Code - потрібен спеціаліст, який налаштує середовище і навчить мене працювати з інструментом.… Javascript та Typescript, Навчання ∙ 7 днів 13 годин тому ∙ 20 ставок |
Оновлення дизайну на сайтіПотрібно оновити дизайн існуючого сайту, використовуючи HTML, CSS, JS: освіжити зовнішній вигляд, зробити його сучасним і адаптивним під мобільні пристрої. Потрібно додати плавні анімації та інтерактивні елементи. HTML та CSS верстання, Javascript та Typescript ∙ 8 днів 7 годин тому ∙ 97 ставок |