Один проект, который делал под заказ. Всё сделал, но оказалось, что нужен более высокий уровень разработки, на который я не способен (typescript, использование специальных функций для авторизации и пр.).
Но продукт готовый: пойдёт как портфолио.
Бекенд для каталога проектов. Обладает функционалом отображения проектов, категорий, поиска по проектам и категориям (в том числе полнотекстовый поиск).
git clone https://github.com/denis-skripnik/projects-backend cd projects-backend npm install
Идём в .env и прописываем сервер с базой данных mongo DB:
MONGO_URL=mongodb://127.0.0.1:27017/pbackend pbackend - название базы данных. API_KEY=JVFhjgfgkUIYKIUfhtyt5^&y
Заменяем JVFhjgfgkUIYKIUfhtyt5^&y на свой.
node projects.js
- /category - вывод списка категорий.
- /projects - список проектов.
GET - получение данных, POST - отправка. В headers передаём x-api-key, который указали в .env настройке API_KEY.
- name - название категории
- title - заголовок категории.
- description - Описание категории.
POST запрос.
- title - заголовок проекта,
- logo - логотип,
- description - описание,
- recommend_global - рекомендовать ли (true или false),
- recommend_global_category - категория для глобального списка рекомендаций,
recommend_category - категория, в которой проект будет отображаться в блоке рекомендуемого.,
links - список ссылок, например, так: https://dpos.space,https://github.com/denis-skripnik/dpos.space,
- commission - комиссия за использование (число),
- income - доход проекта (число). У вас может быть доход с проекта или что иное...,
- likes - число лайков,
- category - категория проекта (пишем её имя).
В принципе вы можете задать свой список полей, зайдя в modules/projects.schema.js.
- _sort - сортировка. В значении указываем поле, по которому сортируем.
- _order - 1 или -1 (от меньшего к большему или от большего к меньшему).
- _page - номер страницы с результатами.
- _start - с какого элемента начинаем (пропуск).
А также:
- q=запрос - полнотекстовый поиск.
- Поле с _like. Например, name_like=назв - неточный поиск по соответствующему полю. Т. е. не обязательно всё значение писать для поиска.
- Окончание на _lte. Например, likes_lte=300 - результаты с полем like меньше 300.
- Окончание на _gte. Например, likes_gte=300 - результаты с полем like больше 300.
- _ne - likes_ne=0 - будет выводить только значения, у которых likes не равен нулю.
- Ну и конечно поиск по полю: description=Описание проекта
Незрячий программист Денис Скрипник https://t.me/blind_dev Сайт: https://denis-skripnik.name