zkt25/sk1
2025-05-11 09:54:48 +00:00
..
.env Загрузить файлы в «sk1» 2025-05-11 09:54:48 +00:00
azure_deployment_filled.yml Загрузить файлы в «sk1» 2025-05-11 09:54:48 +00:00
azure_deployment.yml Загрузить файлы в «sk1» 2025-05-11 09:54:48 +00:00
docker-compose.yml Загрузить файлы в «sk1» 2025-05-11 09:54:48 +00:00
Dockerfile Загрузить файлы в «sk1» 2025-05-11 09:54:48 +00:00
env-example.sh Загрузить файлы в «sk1» 2025-05-11 09:54:48 +00:00
package.json Загрузить файлы в «sk1» 2025-05-11 09:54:48 +00:00
prepare-app.sh Загрузить файлы в «sk1» 2025-05-11 09:54:48 +00:00
README.md.md Загрузить файлы в «sk1» 2025-05-11 09:54:48 +00:00
remove-app.sh Загрузить файлы в «sk1» 2025-05-11 09:54:48 +00:00
requirements.txt Загрузить файлы в «sk1» 2025-05-11 09:54:48 +00:00

Веб-приложение 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. Сделайте скрипты исполняемыми:

    chmod +x prepare-app.sh remove-app.sh
    
  2. Запустите скрипт развертывания:

    ./prepare-app.sh
    
  3. После завершения развертывания вы увидите IP-адрес вашего приложения.

Просмотр приложения

  1. Откройте веб-браузер и перейдите по адресу, полученному после развертывания:

    http://<IP-АДРЕС>:3000
    
  2. Для регистрации перейдите по ссылке "Login" в верхнем меню и создайте учетную запись.

Удаление приложения

  1. Чтобы удалить приложение и все связанные с ним ресурсы, выполните:

    ./remove-app.sh
    
  2. Следуйте инструкциям скрипта для выборочного или полного удаления ресурсов.

Условия запуска скриптов

Скрипты prepare-app.sh и remove-app.sh требуют следующего:

  1. Наличие установленного Azure CLI
  2. Активная подписка Azure (скрипты запросят авторизацию, если вы не вошли в систему)
  3. Правильно настроенный файл .env (или ввод параметров вручную для скрипта удаления)
  4. Для скрипта prepare-app.sh также требуется установленный Docker

Внешние источники и использование генеративных моделей

При создании этого проекта были использованы следующие внешние источники:

  1. Официальная документация Azure: https://docs.microsoft.com/en-us/azure/
  2. Документация Docker: https://docs.docker.com/
  3. Руководство по Node.js и Express: https://expressjs.com/
  4. Шаблоны дизайна с Dribbble и Behance

Для помощи в написании документации и создании скриптов была использована генеративная модель Claude 3.7 Sonnet от Anthropic.