Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/uximy/crypto-rates-api
https://github.com/uximy/crypto-rates-api
Last synced: 5 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/uximy/crypto-rates-api
- Owner: Uximy
- Created: 2024-12-10T08:57:58.000Z (2 months ago)
- Default Branch: main
- Last Pushed: 2024-12-10T09:17:18.000Z (2 months ago)
- Last Synced: 2024-12-10T10:18:53.491Z (2 months ago)
- Language: TypeScript
- Size: 14.6 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Crypto Rates API
Этот проект предоставляет API для управления и получения курсов криптовалютных пар. Реализован с использованием NestJS, TypeORM и PostgreSQL. Также используется API Сoingecko для получения точный курсы валют
## Функционал
- Управление криптовалютными парами (создание, обновление, удаление, получение).
- Получение курсов с фильтрацией (по парам, диапазону дат, сортировке, лимиту записей).
- Периодическое обновление курсов через Cron-задачи.
- Валидация входящих данных и централизованная обработка ошибок.---
## Требования
Для запуска проекта необходимо установить:
- [Node.js](https://nodejs.org/) (версия 16 или выше)
- [Docker](https://www.docker.com/) и [Docker Compose](https://docs.docker.com/compose/)---
## Установка
1. **Клонируйте репозиторий:**
```bash
git clone https://github.com/Uximy/Crypto-Rates-API.git
cd crypto-rates-api
```
2. **Установите зависимости:**
```bash
npm install
```
## Запуск
Запустите Docker Compose: ```docker-compose up --build```## Использование API
API-документация доступна через Swagger:
- Swagger UI: http://localhost:3000/api-docs## Структура проекта
```
src/
├── pairs/ # Модуль для управления парами
│ ├── dto/ # DTO для создания и обновления
│ ├── entities/ # Сущности базы данных
│ ├── pairs.module.ts
│ ├── pairs.service.ts
│ ├── pairs.controller.ts
├── rates/ # Модуль для работы с курсами
│ ├── rates.module.ts
│ ├── rates.service.ts
│ ├── rates.controller.ts
├── main.ts # Точка входа приложения
```## Логирование
- Проект использует встроенный Logger NestJS для записи операций. Логи ошибок и отладочные сообщения можно видеть в консоли.