https://github.com/samplec0de/lyrics-ide-backend
https://github.com/samplec0de/lyrics-ide-backend
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/samplec0de/lyrics-ide-backend
- Owner: samplec0de
- Created: 2024-01-02T13:10:27.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-09-30T21:32:48.000Z (over 1 year ago)
- Last Synced: 2025-02-14T15:49:47.863Z (over 1 year ago)
- Language: Python
- Homepage: https://lyrics-backend.k8s-1.sslane.ru/docs
- Size: 5.85 MB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
Awesome Lists containing this project
README
LYRICS-IDE-BACKEND
Веб-приложение для разработки текстов песен. Серверная часть.
Разработано с использованием технологий
# 📖 Содержание
- [📍 Описание](#-описание)
- [🧩 Ключевые особенности](#-ключевые-особенности)
- [🗂️ Структура репозитория](#-структура-репозитория)
- [🚀 Начало работы](#-начало-работы)
- [⚙️ Установка](#-установка)
- [🤖 Запуск](#-запуск)
- [🧪 Тесты](#-тесты)
- [🎗 Лицензия](#-лицензия)
- [🔗 Сторонние зависимости](#-сторонние-зависимости)
## 📍 Описание
Репозиторий содержит серверную часть веб-приложения (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
---