An open API service indexing awesome lists of open source software.

https://github.com/samplec0de/lyrics-ide-backend


https://github.com/samplec0de/lyrics-ide-backend

Last synced: about 1 year ago
JSON representation

Awesome Lists containing this project

README

          


project-logo



LYRICS-IDE-BACKEND


Веб-приложение для разработки текстов песен. Серверная часть.



license
last-commit
repo-top-language



Разработано с использованием технологий



Pydantic
YAML
OpenAI
Python
AIOHTTP


Docker
GitHub%20Actions
NumPy
FastAPI

# 📖 Содержание
- [📍 Описание](#-описание)
- [🧩 Ключевые особенности](#-ключевые-особенности)
- [🗂️ Структура репозитория](#-структура-репозитория)
- [🚀 Начало работы](#-начало-работы)
- [⚙️ Установка](#-установка)
- [🤖 Запуск](#-запуск)
- [🧪 Тесты](#-тесты)
- [🎗 Лицензия](#-лицензия)
- [🔗 Сторонние зависимости](#-сторонние-зависимости)


## 📍 Описание

Репозиторий содержит серверную часть веб-приложения (API), разработанную для платформы разработки текстов песен.

Основные функции
- Аутентификация и авторизация пользователей
- Управление проектами и текстами
- Загрузка музыкальных файлов и определение BPM (beats per minute)
- Автодополнение текстов песен с использованием искусственного интеллекта
- Определение значения слов, получение синонимов, поиск рифм

Ключевым принципом бэкенда является интеграция передовых веб-платформ
и технологий для обеспечения высокой производительности и надежности.
В проекте используется Docker для инкапсуляции среды, что делает развертывание последовательным и эффективным.
Kubernetes используется для управления контейнерами и обеспечения масштабируемости.

Качество кода имеет первостепенное значение, оно обеспечивается с помощью различных корректировок и проверок стиля,
с помощью библиотек указанных в `requirements.linters.txt`.
Тестирование - еще один важный аспект. Используются библиотеки для асинхронного тестирования, мокирования и составления
отчетов о покрытии - `requirements.tests.txt`.
Благодаря тестам и статическому анализу кода обеспечивается соответствие серверной части стандартам качества.

Проект предлагает мощную платформу для творчества - написания текстов, дополненную технологической строгостью,
что делает ее ценным инструментом для артистов, стремящихся использовать современные технологии для оптимизации своей работы.

---

## 🧩 Ключевые особенности

| | Особенность | Описание |
|----|------------------------|------------------------------------------------------------------------------------------------------------------------------|
| ⚙️ | **Архитектура** | stateless модульный монолит на основе FastAPI, использует Docker для контейнеризации |
| 🔩 | **Качество кода** | Применяются линтеры6 форматтеры для проверки стиля |
| 📄 | **Документация** | Обширная документация в файлах и комментариях в модулях, описывающих функциональность. Swagger UI, ReDoc поставляются с API. |
| 🔌 | **Интеграции** | Интеграция с AI-сервисом - OpenAI, библиотека мультимедиа - aubio, технологии Яндекса (Яндекс Словарь). |
| 🧩 | **Модульность** | Высокая модульность с четким разделением функциональности. |
| 🧪 | **Тесты** | Быстрые асинхронные модульные и интеграционные тесты в CI/CD. |
| ⚡️ | **Производительность** | Используется асинхронное программирование для повышения производительности. |
| 🛡️ | **Безопасность** | Используется `python-jose` для обработки JWT, обеспечивая безопасную обработку данных. |
| 🚀 | **Масштабируемость** | Используется kubernetes для управления масштабированием. |

---

## 🗂️ Структура репозитория

```sh
└── lyrics-ide-backend/
├── .github
│ └── workflows
│ └── deploy-prod.yml
├── CHANGELOG.md
├── Dockerfile
├── README.md
├── app
│ ├── alembic
│ │ └── versions
│ ├── api
│ │ ├── routers
│ ├── main.py
│ ├── models
├── docs
├── k8s
├── requirements.linters.txt
├── requirements.tests.txt
├── requirements.txt
└── tests
├── integration_tests
└── unit_tests
```

---

## 🚀 Начало работы

**Требования:**

* TODO

### ⚙️ Установка

From source

> 1. Склонируйте репозиторий lyrics-ide-backend:
>
> ```console
> $ git clone https://github.com/samplec0de/lyrics-ide-backend
> ```
>
> 2. Перейдите в директорию проекта:
> ```console
> $ cd lyrics-ide-backend
> ```
>
> 3. Установите зависимости:
> ```console
> $ pip install -r requirements.txt
> ```
>
>TODO

### 🤖 Запуск

From source

> Запустите приложение:
> ```console
> $ python main.py
> ```

### 🧪 Тесты

> Запустите тесты:
> ```console
> $ pytest tests/integration_tests
> $ pytest tests/unit_tests
> ```

---

## 🎗 Лицензия

Проект защищен [SELECT-A-LICENSE](https://choosealicense.com/licenses). Подробности смотрите на [LICENSE](https://choosealicense.com/licenses/).

---

## 🔗 Сторонние зависимости

- TODO

---