Написать простенький сервер блога на node.js/express/mongodb
4245 UAHВ кратце:
Фронтенд не нужен совсем
Нужен только бекенд и апи чтобы с ним общаться
Нужна авторизация современная через jwt (регистрация/авторизация/логаут)
Нужны категории простые (добавление/редактирование/удаление)
Нужны материалы блога (добавление/редактирование/удаление)
Нужна загрузка и оптимизация изображений по заданным параметрам
...все
1. Общее
Использовать следующие плагины последней версии из npm:
express
config
mongoose
...остальные отдельно обсуждаем
Апи - все в json формат
Успешный ответ всегда имеет ok: 1
Не успешный всегда имеет поле error, если есть текст ошибки то вот так
{error: {msg: 'text error'}}
Если какие-то поля неверно заполнены тоо ответ вот такой
{
error: {
data: {
title: {
msg: 'Тайтл заполнен неверно',
},
password: {
msg: 'Нужно заполнить пароль',
},
},
msg: 'Общее сообщение об ошибке',
},
}
2. Авторизация:
Модель пользователя
email: {type: String, require: true, unique: true},
password: {type: String, require: true},
articles: [{type: Types.ObjectId, ref: 'Article'}],
АПИ:
POST: /api/auth/registration (email|password)
проверка на то чтобы email был email
пароль должен быть больше 8 символов
примеры ответа: {ok: 1}
{error: {msg: 'Email занят'}}
POST: /api/auth/login (email|password)
при успешной авторизации в ответ присылаем jwt token и id/email юзера
{token: '...', userId: 'айдишник из mongo', userEmail: 'xxxx'}
3. Категории
Модель категории
title: {type: String, require: true},
code: {type: String, require: true, unique: true},
isRemoved: {type: Boolean, default: false},
articles: [{type: Types.ObjectId, ref: 'Article'}],
АПИ: (на все апи нужна проверка на то что пользователь авторизован)
GET: /api/category/list
{category: [{id: 'xx', code: 'xx', title: 'xxx'}, ...]}
POST: /api/category/add (code|title)
проверка на то чтобы code был только латинскими буквами и черточка _
title просто должен быть
ответ {category: {id: 'xx', code: 'xx', title: 'xxx'}}
POST: /api/category/edit/:idcategory (code|title)
...аналогично апи выше
POST: /api/category/remove/:idcategory
...аналогично апи выше без проверок (меняет только поле isRemoved = true)
POST: /api/category/recover/:idcategory
...аналогично апи выше без проверок (меняет только поле isRemoved = false)
4. Материалы блога
Модель материала блога
title: {type: String, require: true},
code: {type: String, require: true, unique: true},
mainImage: {type: String},
shortDescr: {type: String},
descr: {type: String},
owner: {type: Types.ObjectId, ref: 'User'},
category: {type: Types.ObjectId, ref: 'Category'},
isRemoved: {type: Boolean, default: false},
... аналогично апи на список материалов/добавление/редактирование/удаление/восстановление
чуть больше проверок подробнее пришлю исполнителю
5. Загрузка изображений
Апи с проверкой на авторизацию, приходит file проверить его на размер и на то что он png или jpg
если png то превратить в jpg
сохранить исходное изображение
оптимизировать изображение (я использовал плагин imagemin) вернуть в апи ссылку на изображение
Стиль кода:
1. Отступы в два пробела
2. В конце строчек ; не ставить
Отзыв заказчика о сотрудничестве с фрилансером
Написать простенький сервер блога на node.js/express/mongodbВсе супер! Все супер! Все супер! Все супер!
![]()
Отзыв фрилансера о сотрудничестве с заказчиком
Написать простенький сервер блога на node.js/express/mongodbОтличный заказчик, с хорошо поставленными задачами.
![]()
-
Возьмите в использование CMS https://keystonejs.com/ будет быстрее чем с нуля. Намного
-
Стиль кода:
1. Отступы в два пробела
2. В конце строчек ; не ставить
За это прям респект! 🙂
-
Актуальные фриланс-проекты в категории Javascript и Typescript
Разработка платформы AM Mobility (автосервис, парковка, страхование, аренда автомобилей)
259 176 UAH
Ищем команду или опытного Full Stack разработчика для создания MVP платформы AM Mobility. AM Mobility — это единая цифровая экосистема для автомобилистов, объединяющая в одном приложении и веб-платформе: парковку; автосервис; шиномонтаж; автомойку; аренду автомобилей;… Javascript и Typescript, Веб-программирование ∙ 2 дня 8 часов назад ∙ 101 ставка |
Gsap анимации
1000 UAH
Добрый день. Нужно внести правки в текущем проекте. Нужен специалист, который хорошо работает на gsap/lenis Нужно сделать анимацию карточек. Подробное ТЗ здесь: https://www.figma.com/design/5bLEJudN5LPpB9ZSoJa2Eb/Untitled?m=auto&t=qwyluUctL1lrMNvh-6 Нужно… Javascript и Typescript, Веб-программирование ∙ 2 дня 14 часов назад ∙ 21 ставка |
Коммерческая on-premise платформа видеосвязи «ViM»Требуется разработать on-premise систему видеосвязи с базовым расчетом на 100 одновременных подключений (10 изолированных комнат по 10 человек). Платформа должна иметь заложенную архитектуру для будущего горизонтального масштабирования до 1000 пользователей путем добавления… Javascript и Typescript, Веб-программирование ∙ 3 дня 9 часов назад ∙ 32 ставки |
Ищу наставника по Claude Code для запуска веб-проекта с нуля**Кратко о задаче:** Я новичок без опыта в программировании. Есть готовое ТЗ на разработку сайта (42 страницы, Next.js, PostgreSQL). Хочу реализовать его самостоятельно с помощью Claude Code - нужен специалист, который настроит среду и научит меня работать с инструментом. ---… Javascript и Typescript, Обучение ∙ 4 дня 13 часов назад ∙ 18 ставок |
Обновление дизайна на сайтеНужно обновить дизайн существующего сайта используя HTML, CSS, JS: освежить внешний вид, сделать его современным и адаптивным под мобильные устройства. Требуется добавить плавные анимации и интерактивные элементы . HTML и CSS верстка, Javascript и Typescript ∙ 5 дней 7 часов назад ∙ 90 ставок |