Въведение

Този документ е техническо описание на API за блог, написан с NodeJS и Express. Node.js е среда за изпълнение на JavaScript с отворен код, между платформи. Express е минимална и гъвкава Node.js рамка за уеб приложения, която предоставя стабилен набор от функции за уеб и мобилни приложения. Този API позволява на потребителите да създават, четат, актуализират и изтриват публикации в блогове.

Изисквания

  • Потребителите трябва да имат собствено име, фамилия, имейл, парола
  • Потребителят трябва да може да се регистрира и да влезе в приложението за блогове
  • Използвайте JWT като стратегия за удостоверяване и изтечете токена след 1 час
  • Един блог може да бъде в две състояния; проект и публикуван
  • Влезлите и невлезлите потребители трябва да могат да получат списък с публикувани създадени блогове
  • Влезли и невлезли потребители трябва да могат да получат публикуван блог
  • Влезлите потребители трябва да могат да създават блог.
  • Когато се създаде блог, той е в състояние на чернова
  • Собственикът на блога трябва да може да актуализира състоянието на блога на публикуван
  • Собственикът на блог трябва да може да редактира блога в черново или публикувано състояние
  • Собственикът на блога трябва да може да изтрие блога в чернова или публикувано състояние
  • Собственикът на блога трябва да може да получи списък на своите блогове.
  • Крайните точки трябва да бъдат странирани
  • Трябва да може да се филтрира по състояние
  • Създадените блогове трябва да имат заглавие, описание, тагове, автор, клеймо за време, състояние, read_count, reading_time и body.
  • Списъкът с крайни точки на блогове, които могат да бъдат достъпни както от влезли, така и от невлезли потребители, трябва да бъде пагиниран:
  • по подразбиране е 20 блога на страница.
  • Трябва също така да може да се търси по автор, заглавие и тагове.
  • Трябва също така да може да се подрежда по read_count, reading_time и timestamp
  • Когато се поиска единичен блог, API трябва да върне информацията за потребителя (автора) с блога. Read_count на блога също трябва да се актуализира с 1
  • Измислете някакъв алгоритъм за изчисляване на reading_time на блога.

И последно,

  • Напишете тестове за всички крайни точки

Предпоставки за развитие

Следните предпоставки ще са необходими, за да използвате API на блога:

  • Node.js
  • ExpressJS
  • MongoDB

Инсталация

  1. Инсталирайте Node.js и MongoDB.
  2. Инсталирайте необходимите пакети за проекта.
  3. Създайте модела за публикацията в блога.
  4. Създайте маршрутите за API.

Използване

След като API е настроен, следните крайни точки могат да се използват за създаване, четене, актуализиране и изтриване на публикации в блогове:

  1. Създаване на потребител:
  • Маршрут: /api/signup
  • Метод: POST

2. Влизане

  • Маршрут: /api/login
  • Метод: POST

3. Създайте блог

  • Маршрут: /api/blog
  • Метод: POST
  • Заглавка
  • Упълномощаване: Носител {токен}

4. Вземете всички публикувани блогове

  • Маршрут: /api/blog
  • Метод: GET
  • Заглавка
  • Упълномощаване: Носител {токен}
  • Няма (достъпно за неупълномощени потребители)

5. Актуализирайте съдържанието на блог

  • Маршрут: /api/blog/:articleId
  • Метод: ПОСТАВЕТЕ
  • Заглавка
  • Упълномощаване: Носител {токен}

6. Изтрийте блог

  • Маршрут: /api/blog/:articleId
  • Метод: ИЗТРИВАНЕ
  • Заглавка
  • Упълномощаване: Носител {токен}

Заключение

Този документ предоставя техническо описание на API на блога, написан на Node.Js с Express. Той очертава изискванията на API и предоставя инструкции за инсталиране и използване.