Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/maxkorop/restowaves-test-task
https://github.com/maxkorop/restowaves-test-task
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/maxkorop/restowaves-test-task
- Owner: MaxKorop
- Created: 2023-12-28T22:16:09.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2023-12-31T15:15:13.000Z (about 1 year ago)
- Last Synced: 2024-01-01T12:24:14.654Z (about 1 year ago)
- Language: JavaScript
- Size: 36.1 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
API, в якому можна отримати дані про товар (модель, назва, ціна, артикул та доступні розміри).
Посилання на API завантажене на Render, для перевірки його роботи:
https://test-task-a8ub.onrender.com/apiAPI Endpoints:
**@GET /api** - Повертає всі товари доступні в БД
**@GET /api?sizes={size}** - Повертає усі товари які доступні у певному розмірі __size__
**@GET /api/{id}** - Повертає товар за заданим артикулом __id__
**@PUT /api** - Змінює назву товару та повертає товар з оновленою назвою
Щогодини сервер відправляє запит до таблиці, формує дані про модель (товари цієї моделі), та відправляє на контролер для валідації отриманих даних, та збереження їх у БД (якщо нові товари) або оновлює товар (якщо змінились дані про нього).
Дані про товар виглядають наступним чином:
{
modelName: String,
name: String,
price: Number,
article: Number,
sizes: Array
}Використана БД (PostgreSQL) запускається на сервісі ElephantSQL.
Використані технології: Express.js, Sequelize, Axios, node-cron, dotenv
Використав Sequelize, тому що це зручна ORM для Node.js. За допомогою неї можна легко створити таблицю, створити модель, яка може додавати, видаляти та оновлювати рядки в БД.
Axios - бібліотека, використана для створення запитів до таблиці, була обрана через простоту її використання.
node-cron була використана для планування запитів до таблиці, обрана, тому що є простою у використанні, та для планування задачі використовується поста форма.
dotenv використана для конфігурування доступу сервера до змінних оточення (наприклад рядок підключення до БД, ключ API, порт на якому запускається сервер, ...)