zkt25/sk1/README.md.md

136 lines
6.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Веб-приложение Brabus Premium Automotive
## Описание приложения
Данное веб-приложение представляет собой официальный сайт автосалона Brabus Premium Automotive, специализирующегося на продаже премиальных автомобилей. Сайт включает следующие функции:
- Красивый и современный пользовательский интерфейс в стиле Apple
- Карусель для демонстрации моделей автомобилей
- Система аутентификации пользователей (регистрация/вход)
- Корзина покупок
- Адаптивный дизайн для мобильных устройств
## Использованные технологии
### Облачные сервисы Azure
1. **Azure Container Instances (ACI)** - для размещения контейнеров приложения
2. **Azure Container Registry (ACR)** - для хранения Docker-образов
3. **Azure Storage Account** - для хранения постоянных данных MongoDB
4. **Azure Key Vault** - для управления секретами приложения
### Контейнеры Docker
- **Контейнер приложения** - Node.js сервер, обслуживающий фронтенд и API
- **Контейнер MongoDB** - база данных для хранения информации о пользователях и заказах
### Сохранение данных
- **Постоянное хранилище** - Azure File Share для данных MongoDB
- **Секреты** - хранятся в Azure Key Vault
## Описание файлов
### Основные файлы
- `Dockerfile` - описывает сборку контейнера Node.js
- `docker-compose.yml` - конфигурация для локального развертывания приложения
- `azure_deployment.yml` - шаблон для развертывания в Azure Container Instances
- `package.json` - описание зависимостей Node.js приложения
- `.env` - файл с переменными окружения (не включен в репозиторий для безопасности)
- `.env.example` - пример файла переменных окружения
### Скрипты
- `prepare-app.sh` - скрипт для автоматического развертывания приложения в Azure
- `remove-app.sh` - скрипт для удаления приложения из Azure
### Исходный код
- `src/server.js` - основной файл серверного приложения на Node.js
- `src/public/` - папка с статическими файлами (HTML, CSS, JS)
- `src/public/index.html` - главная страница
- `src/public/login.html` - страница входа
- `src/public/cart.html` - страница корзины
- `src/public/styles.css` - стили приложения
- `src/public/script.js` - клиентский JavaScript
## Инструкция по использованию
### Подготовка к развертыванию
1. Сначала убедитесь, что у вас установлены необходимые инструменты:
- Docker
- Azure CLI
- bash (для Linux/Mac) или Git Bash (для Windows)
2. Создайте файл `.env` на основе `.env.example` и заполните его своими значениями:
```
# Azure настройки
AZURE_RESOURCE_GROUP=brabus-resources
AZURE_LOCATION=westeurope
AZURE_CONTAINER_REGISTRY=brabusregistry
AZURE_STORAGE_ACCOUNT=brabusstorage
AZURE_KEY_VAULT_NAME=brabusvault
# MongoDB настройки
MONGODB_ROOT_USERNAME=brabus_admin
MONGODB_ROOT_PASSWORD=your_secure_password
# Другие настройки приложения
NODE_ENV=production
PORT=3000
```
### Развертывание
1. Сделайте скрипты исполняемыми:
```bash
chmod +x prepare-app.sh remove-app.sh
```
2. Запустите скрипт развертывания:
```bash
./prepare-app.sh
```
3. После завершения развертывания вы увидите IP-адрес вашего приложения.
### Просмотр приложения
1. Откройте веб-браузер и перейдите по адресу, полученному после развертывания:
```
http://<IP-АДРЕС>:3000
```
2. Для регистрации перейдите по ссылке "Login" в верхнем меню и создайте учетную запись.
### Удаление приложения
1. Чтобы удалить приложение и все связанные с ним ресурсы, выполните:
```bash
./remove-app.sh
```
2. Следуйте инструкциям скрипта для выборочного или полного удаления ресурсов.
## Условия запуска скриптов
Скрипты `prepare-app.sh` и `remove-app.sh` требуют следующего:
1. Наличие установленного [Azure CLI](https://docs.microsoft.com/en-us/cli/azure/install-azure-cli)
2. Активная подписка Azure (скрипты запросят авторизацию, если вы не вошли в систему)
3. Правильно настроенный файл `.env` (или ввод параметров вручную для скрипта удаления)
4. Для скрипта `prepare-app.sh` также требуется установленный Docker
## Внешние источники и использование генеративных моделей
При создании этого проекта были использованы следующие внешние источники:
1. Официальная документация Azure: [https://docs.microsoft.com/en-us/azure/](https://docs.microsoft.com/en-us/azure/)
2. Документация Docker: [https://docs.docker.com/](https://docs.docker.com/)
3. Руководство по Node.js и Express: [https://expressjs.com/](https://expressjs.com/)
4. Шаблоны дизайна с [Dribbble](https://dribbble.com/) и [Behance](https://www.behance.net/)
Для помощи в написании документации и создании скриптов была использована генеративная модель Claude 3.7 Sonnet от Anthropic.