Въведение
Този документ е техническо описание на 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
Инсталация
- Инсталирайте Node.js и MongoDB.
- Инсталирайте необходимите пакети за проекта.
- Създайте модела за публикацията в блога.
- Създайте маршрутите за API.
Използване
След като API е настроен, следните крайни точки могат да се използват за създаване, четене, актуализиране и изтриване на публикации в блогове:
- Създаване на потребител:
- Маршрут: /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 и предоставя инструкции за инсталиране и използване.