Skip to content

denis-skripnik/projects-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

projects-backend

Один проект, который делал под заказ. Всё сделал, но оказалось, что нужен более высокий уровень разработки, на который я не способен (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

API

Основные адреса

  • /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

About

Бекенд для каталога проектов

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published