# StickerAI Front Фронтенд для приложения генерации стикеров для Telegram. Это Telegram MiniApp, которое позволяет пользователям загружать свои фотографии, обрезать их, выбирать стиль и образ для генерации стикеров, а затем получать готовые стикеры. ## Технологический стек - **Фронтенд**: React + TypeScript + Vite - **Маршрутизация**: React Router - **Стили**: CSS Modules - **API**: REST API ## Установка и запуск ### Требования - Node.js 16+ и npm ### Локальная разработка ```bash # Установка зависимостей npm install # Запуск в режиме разработки npm run dev ``` ### Сборка для продакшена ```bash # Сборка проекта npm run build # Предпросмотр собранного проекта npm run preview ``` ## Деплой на сервер Ubuntu ### Подготовка сервера ```bash # Обновление пакетов sudo apt update sudo apt upgrade -y # Установка Git sudo apt install -y git # Установка Node.js и npm sudo apt install -y curl curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - sudo apt install -y nodejs # Проверка установки node -v npm -v # Установка PM2 npm install -g pm2 ``` ### Клонирование и настройка проекта ```bash # Клонирование репозитория git clone https://git.gymnasticstuff.uk/kazachilo/StickerAI-Front.git cd StickerAI-Front # Установка зависимостей npm install # Сборка проекта npm run build ``` ### Запуск приложения с PM2 ```bash # Запуск приложения через PM2 cd /path/to/StickerAI-Front pm2 serve --spa dist 3000 --name sticker-app # Настройка автозапуска PM2 при перезагрузке сервера pm2 startup # Выполните команду, которую выдаст предыдущая инструкция pm2 save ``` ### Обновление проекта в будущем ```bash # Переход в директорию проекта cd /path/to/StickerAI-Front # Получение последних изменений git pull # Установка новых зависимостей (если были добавлены) npm install # Сборка проекта npm run build # Перезапуск PM2 pm2 restart sticker-app ``` ## API Эндпоинты Приложение взаимодействует с API по адресу: - https://stickerserver.gymnasticstuff.uk - для основных операций - https://translate.maxdev.keenetic.pro/translate - для перевода текста ## Дополнительная документация Для более подробной информации о проекте смотрите: - [PROJECT_OVERVIEW.md](PROJECT_OVERVIEW.md) - обзор проекта - [ARCHITECTURE.md](ARCHITECTURE.md) - архитектура проекта