6.7 KiB
Веб-приложение Brabus Premium Automotive
Описание приложения
Данное веб-приложение представляет собой официальный сайт автосалона Brabus Premium Automotive, специализирующегося на продаже премиальных автомобилей. Сайт включает следующие функции:
- Красивый и современный пользовательский интерфейс в стиле Apple
- Карусель для демонстрации моделей автомобилей
- Система аутентификации пользователей (регистрация/вход)
- Корзина покупок
- Адаптивный дизайн для мобильных устройств
Использованные технологии
Облачные сервисы Azure
- Azure Container Instances (ACI) - для размещения контейнеров приложения
- Azure Container Registry (ACR) - для хранения Docker-образов
- Azure Storage Account - для хранения постоянных данных MongoDB
- Azure Key Vault - для управления секретами приложения
Контейнеры Docker
- Контейнер приложения - Node.js сервер, обслуживающий фронтенд и API
- Контейнер MongoDB - база данных для хранения информации о пользователях и заказах
Сохранение данных
- Постоянное хранилище - Azure File Share для данных MongoDB
- Секреты - хранятся в Azure Key Vault
Описание файлов
Основные файлы
Dockerfile
- описывает сборку контейнера Node.jsdocker-compose.yml
- конфигурация для локального развертывания приложенияazure_deployment.yml
- шаблон для развертывания в Azure Container Instancespackage.json
- описание зависимостей Node.js приложения.env
- файл с переменными окружения (не включен в репозиторий для безопасности).env.example
- пример файла переменных окружения
Скрипты
prepare-app.sh
- скрипт для автоматического развертывания приложения в Azureremove-app.sh
- скрипт для удаления приложения из Azure
Исходный код
src/server.js
- основной файл серверного приложения на Node.jssrc/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
Инструкция по использованию
Подготовка к развертыванию
-
Сначала убедитесь, что у вас установлены необходимые инструменты:
- Docker
- Azure CLI
- bash (для Linux/Mac) или Git Bash (для Windows)
-
Создайте файл
.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
Развертывание
-
Сделайте скрипты исполняемыми:
chmod +x prepare-app.sh remove-app.sh
-
Запустите скрипт развертывания:
./prepare-app.sh
-
После завершения развертывания вы увидите IP-адрес вашего приложения.
Просмотр приложения
-
Откройте веб-браузер и перейдите по адресу, полученному после развертывания:
http://<IP-АДРЕС>:3000
-
Для регистрации перейдите по ссылке "Login" в верхнем меню и создайте учетную запись.
Удаление приложения
-
Чтобы удалить приложение и все связанные с ним ресурсы, выполните:
./remove-app.sh
-
Следуйте инструкциям скрипта для выборочного или полного удаления ресурсов.
Условия запуска скриптов
Скрипты prepare-app.sh
и remove-app.sh
требуют следующего:
- Наличие установленного Azure CLI
- Активная подписка Azure (скрипты запросят авторизацию, если вы не вошли в систему)
- Правильно настроенный файл
.env
(или ввод параметров вручную для скрипта удаления) - Для скрипта
prepare-app.sh
также требуется установленный Docker
Внешние источники и использование генеративных моделей
При создании этого проекта были использованы следующие внешние источники:
- Официальная документация Azure: https://docs.microsoft.com/en-us/azure/
- Документация Docker: https://docs.docker.com/
- Руководство по Node.js и Express: https://expressjs.com/
- Шаблоны дизайна с Dribbble и Behance
Для помощи в написании документации и создании скриптов была использована генеративная модель Claude 3.7 Sonnet от Anthropic.