Современное веб-приложение для архитектурного бюро, построенное на базе микросервисной архитектуры. Проект объединяет высокопроизводительный бэкенд на FastAPI и интерактивный фронтенд на React, упакованные в Docker-контейнеры для мгновенного развертывания.
Frontend: React + TypeScript. Использование Feature-Sliced Design (FSD) для обеспечения масштабируемости и чистоты кода. Backend: FastAPI (Python 3.12). Асинхронная обработка запросов. Инфраструктура: Docker и Docker Compose. Полная изоляция среды разработки. Web Server: Nginx в качестве Reverse Proxy для безопасной раздачи статики и маршрутизации API. DevOps: Контейнеризация всех этапов сборки (Multi-stage builds).
- адаптивность: Интерфейс полностью оптимизирован под мобильные устройства и десктопы.
- интерактивное Портфолио: Динамическая галерея проектов с плавной навигацией.
- система заявок: Интегрированная форма обратной связи с асинхронной отправкой данных.
- безопасность: Настроенные CORS-политики и изоляция переменных окружения.
- Аналитика: Интеграция с Google Analytics (GA4) для отслеживания конверсий.
- Клонируйте репозиторий:
git clone https://github.com/v01dedknight/architectural-bureau.git
cd architectural-bureau- Настройте окружение: Создайте файл .env в корне проекта и добавьте в него необходимые ключи (токены бота, ID аналитики и др.):
TARGET_EMAIL=example@mail.ru
MAIL_RU_PASSWORD=password
SERVER_HOST=127.0.0.1
SERVER_PORT=8000
VITE_GA_MEASUREMENT_ID=G-XXXXXXXXXX- Запустите контейнеры:
docker-compose up --buildПроект будет доступен по адресу: http://localhost
architectural-bureau/
├── frontend/ # React (TS) приложение (FSD Architecture)
│ ├── src/ # Исходный код
│ └── frontend.Dockerfile
├── backend/ # API сервис (FastAPI)
│ ├── server.py # Точка входа
│ └── backend.Dockerfile
├── nginx/ # Конфигурация веб-сервера
├── docker-compose.yml # Оркестрация контейнеров
├── LICENSE # MIT License
└── README.md # Текущая документация
На сайте подключена Google Analytics (GA4) для сбора аналитических данных:
- посещаемость сайта
- источники трафика
- поведение пользователей
- время на страницах
- конверсии форм
- взаимодействие с интерфейсом
Аналитика используется для:
- улучшения пользовательского опыта
- оценки эффективности страниц
- оптимизации структуры сайта
- принятия продуктовых решений
Проект распространяется под лицензией MIT.
Разработано: Artur (v01dedknight), 2026.