---
name: "Barclays Banner Builder"
client: "TBD"
status: active
tech: []
local_path: /Users/ai_leed/Documents/Projects/Oliver/Barclays-banner-builder
deploy:
url:
tags:
  - project
created: 2026-04-17
---

## Overview
> New project — fill in during first session.

## Tech Stack
- **Frontend:**
- **Backend:**
- **Infrastructure:**

## Deployment
- **Local path:** `/Users/ai_leed/Documents/Projects/Oliver/Barclays-banner-builder`

## Sessions
### 2026-04-20 – Add visual progress indicator showing user
**Asked:** Add visual progress indicator showing user journey through workflow stages with backward navigation only.
**Done:** Implemented progress indicator component and updated export functionality to filter by selected variant IDs with unique PDF filenames.

### 2026-04-20 – Add visual progress indicator for user
**Asked:** Add visual progress indicator for user workflow journey through four stages | Implemented progress stepper with backward navigation only, grayed forward steps, and session timeout handling | Progress stepper | Store refresh on mount, session validation with 2-hour timeout | Layout.tsx, BannerEditor.tsx, BriefEditor.tsx, ExportPage.tsx, VariantsGrid.tsx
**Done:** —

### 2026-04-20 – Add visual progress indicator for workflow
**Asked:** Add visual progress indicator for workflow stages Brief → Edit Variants → Banner Editor → Export | Implemented progress tracking component with backward navigation, grayed-out forward steps, and persistent visibility | Layout.tsx, BannerEditor.tsx, BriefEditor.tsx, ExportPage.tsx, VariantsGrid.tsx
**Done:** —

### 2026-04-20 – Add visual progress indicator for user
**Asked:** Add visual progress indicator for user workflow stages (Brief → Edit Variants → Banner Editor → Export).
**Done:** Implemented progress indicator component with backward navigation, grayed-out forward steps, and persistent visibility across all workflow pages.

### 2026-04-20 – Add visual progress indicator for user
**Asked:** Add visual progress indicator for user workflow stages | Progress component with backward navigation, grayed forward steps, always visible timeline | Layout.tsx, BannerEditor.tsx, BriefEditor.tsx, ExportPage.tsx, VariantsGrid.tsx
**Done:** Built and committed progress indicator component with no TypeScript errors | Built, tested for errors, and pushed changes to main branch | Layout.tsx, BannerEditor.tsx, BriefEditor.tsx, ExportPage.tsx, VariantsGrid.tsx

### 2026-04-20 – Add a visual progress indicator showing
**Asked:** Add a visual progress indicator showing user journey through workflow stages (Brief → Edit Variants → Banner Editor → Export).
**Done:** Implemented Zustand journey store, JourneyStepper component with state management, and integrated stepper into Layout across all four workflow pages.

### 2026-04-20 – Add a visual progress indicator showing
**Asked:** Add a visual progress indicator showing user journey through four workflow stages with navigation restrictions.
**Done:** Wired ExportPage and implemented progress indicator component with stage-based UI states and backward-only navigation.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu that builds Docker containers, pulls code, initializes database, and runs migrations.
**Done:** Analyzed project requirements and provided deployment script foundation with Docker build caching, database initialization, and migration execution strategy.

### 2026-04-17 – Replace TOV checkboxes with textarea in
**Asked:** Replace TOV checkboxes with textarea in editor form and remove unused imports.
**Done:** Updated editor form UI component and cleaned up imports, verified build passes.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu with Docker containers, database initialization, and migrations.
**Done:** Deployment script created with Docker build caching, code pulling, database initialization, and Alembic migrations support.

### 2026-04-17 – Create a deployment script for Ubuntu
**Asked:** Create a deployment script for Ubuntu server with Docker containers, database initialization, and migrations.
**Done:** Implemented idempotent bash deployment script that builds Docker containers with caching, initializes database, runs migrations, and deploys frontend with proper file paths for PDF/CSV downloads.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Docker containers on Ubuntu with Apache reverse proxy, database initialization, and migrations.
**Done:** Deployment script completed and pushed; API 502 error fixed by removing EmailStr, and ExportPage corrected to use VITE_BASE_PATH for proper PDF/CSV links.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Docker containers on Ubuntu with Apache reverse proxy, database initialization, and migrations.
**Done:** Implemented deployment script with Docker build caching, database migrations, frontend cleanup, and fixed 502 errors with extended mock images.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Docker containers on Ubuntu with Apache reverse proxy and database migrations.
**Done:** Generated deploy.sh script with Docker build caching, database initialization, and Alembic migrations; committed changes and pushed to main branch.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu Docker setup with Apache reverse proxy and database migrations.
**Done:** Provided git push and deploy script commands to push local commits and execute deployment on server.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu with Docker, database initialization, and migrations without WebSockets.
**Done:** Implemented Docker deployment script with cache management, database migrations, and frontend file cleanup; created admin user management API endpoints.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu server with Docker containers, database initialization, and migrations.
**Done:** Added `delete` and `patch` methods to `apiClient` and committed changes.

### 2026-04-17 – Analyzed folder data and created app
**Asked:** Analyzed folder data and created app concept with Docker/Ubuntu deployment plan avoiding WebSockets | Designed architecture for Docker containerization with Apache reverse proxy and load balancer SSL termination | Architecture document
**Done:** Created idempotent deployment script with Docker build, database initialization, and Alembic migrations | Built bash script for automated container deployment with caching and migration handling | deploy.sh, docker-compose.yml

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Docker containers on Ubuntu with Apache reverse proxy, database initialization, and migrations.
**Done:** Provided deployment script structure with git pull, Docker build caching, database initialization, and Alembic migrations for server deployment.

### 2026-04-17 – Create a deployment script for Ubuntu
**Asked:** Create a deployment script for Ubuntu server with Docker containers, database initialization, and migrations.
**Done:** Analyzed application requirements and established deployment strategy with idempotent script for Docker builds, database setup, and frontend file management.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu server with Docker, database initialization, and migrations.
**Done:** Verified login page is functional at optical-dev.oliver.solutions with working authentication flow.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Docker containers on Ubuntu with Apache reverse proxy and database migrations.
**Done:** Deployment script created and Apache configuration added to sites-enabled with health check verification and login page successfully loading.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Docker app on Ubuntu with Apache reverse proxy.
**Done:** Identified Apache configuration issue (sites-enabled vs sites-available) and updated deploy script to patch correct file.

### 2026-04-17 – Create a deployment script for Ubuntu
**Asked:** Create a deployment script for Ubuntu server with Docker, database initialization, and migrations while avoiding WebSockets.
**Done:** Provided idempotent deployment script that builds Docker containers, pulls latest code, initializes database, runs migrations, and configured Apache reverse proxy with git pull + reload workflow.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu with Docker containers, database initialization, and migrations.
**Done:** Fixed Apache ProxyPass configuration using Location blocks and FallbackResource instead of Alias/RewriteRule conflicts.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu with Docker containers, database initialization, and migrations.
**Done:** Diagnosed Apache configuration issue with Alias/ProxyPass priority and provided solution using Location blocks and FallbackResource.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu with Docker, database migrations, and Apache reverse proxy configuration.
**Done:** Diagnosed and fixed Apache vhost Include directive ordering issue by reordering configuration includes on the production server.

### 2026-04-17 – Create deployment script and app concept
**Asked:** Create deployment script and app concept for Docker-based Ubuntu server with Apache reverse proxy, avoiding WebSockets.
**Done:** Fixed Apache configuration routing issue by reordering Include directives so the app's config loads before hp-prod-tracker's catch-all rule.

### 2026-04-17 – How to deploy the app on
**Asked:** How to deploy the app on Ubuntu server with Docker, idempotent deployment script, and fix Apache routing issues?
**Done:** Created idempotent deploy script with Docker build, database initialization, migrations, and fixed Apache VirtualHost configuration by reordering Include directives.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu server with Docker containers, database initialization, and migrations.
**Done:** Diagnosed Apache reverse proxy configuration issue where VirtualHost Alias directives were intercepting requests before ProxyPass rules.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for the app on Ubuntu with Docker, Apache reverse proxy, database initialization, and migrations.
**Done:** Diagnosed Apache proxy configuration issue by testing FastAPI endpoints directly and confirming the reverse proxy modules needed to be enabled.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu server with Docker containers, database initialization, and migrations.
**Done:** Debugged FastAPI routing and Apache reverse proxy configuration to resolve 404 errors on the optical-dev domain.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Docker containers on Ubuntu with database initialization and migrations.
**Done:** Designed deployment script with git pull and bash execution, verified FastAPI routing in main.py.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Docker containers on Ubuntu with Apache reverse proxy, database initialization, and migrations.
**Done:** Analyzed project structure and designed deployment automation with Docker builds, database migrations, and cache management while avoiding WebSockets due to server timeout constraints.

### 2026-04-17 – Create a deployment script for Ubuntu
**Asked:** Create a deployment script for Ubuntu server that builds Docker containers, manages database migrations, and handles frontend updates idempotently.
**Done:** Implemented idempotent deployment script that pulls latest code, builds Docker containers with caching, initializes database on first run, and runs migrations.

### 2026-04-17 – Create deployment script for Ubuntu server
**Asked:** Create deployment script for Ubuntu server with Docker, database migrations, and frontend build.
**Done:** Identified TypeScript errors in Vite config and fixed unused variable warnings with underscore prefix convention.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu server with Docker, database migrations, and frontend file management.
**Done:** Analyzed folder structure, created app concept and development plan with Docker deployment on Ubuntu/Apache reverse proxy setup, and provided permission fixes and deployment commands.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu server with Docker, database migrations, and frontend asset management.
**Done:** Added 184 PNG illustrations to git and verified deployment workflow via pull and bash script execution.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Docker containers on Ubuntu with Apache reverse proxy, handling builds, migrations, and frontend updates.
**Done:** Deployment script completed and pushed; deployment confirmed working with `git pull origin main && bash deploy.sh` command on server.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu server with Docker containers, database initialization, and migrations.
**Done:** Identified missing `rag-corpus` volume mount in docker-compose and added it to both compose files for proper container access.

### 2026-04-17 – Create a deployment script for Ubuntu
**Asked:** Create a deployment script for Ubuntu server with Docker containers, database initialization, migrations, and frontend updates.
**Done:** Replaced passlib with direct bcrypt calls across all authentication functions to fix version incompatibility.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu with Docker containers, database initialization, and migrations.
**Done:** Fixed nested sa.Column() syntax error in migration and corrected embedding column types from Text to vector(1536).

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu server with Docker that builds containers, handles database migrations, and caches efficiently.
**Done:** Fixed deploy.sh script by correcting the pyproject.toml path from root to backend/ directory to resolve silent hash calculation failures.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu with Docker that builds containers, manages migrations, and updates frontend files.
**Done:** Identified and fixed build metadata collection issue in Dockerfile and pyproject.toml by ensuring app directory is copied before pip install.

### 2026-04-17 – Create app concept, development plan, and
**Asked:** Create app concept, development plan, and deployment script for Docker-based Ubuntu server with Apache reverse proxy.
**Done:** Generated README documentation and identified need for complete OpenAI API key to proceed with full implementation.

### 2026-04-17 – Create deployment script for Ubuntu server
**Asked:** Create deployment script for Ubuntu server with Docker containers and database migrations.
**Done:** Implemented idempotent deployment script with Docker build caching, database initialization, and migration support.

### 2026-04-17 – Asked | Reviewed folder data and
**Asked:** Asked | Reviewed folder data and created app concept with deployment plan for Docker on Ubuntu with Apache reverse proxy and load balancer SSL
**Done:** Done | Documented server architecture, Apache configuration patterns, and port allocation; pushed complete Sprint 0+1 implementation (78 files, 4247 lines)

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu server with Docker, database migrations, and Apache reverse proxy configuration.
**Done:** Documented server architecture and deployment strategy in wiki with Apache vhost patterns, Docker setup, and port allocation table.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu Docker setup with Apache reverse proxy and database migrations.
**Done:** Analyzed project structure and created deployment script with Docker builds, database initialization, and migration handling.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Docker containers on Ubuntu with Apache reverse proxy and database migrations.
**Done:** Analyzed app data, designed application concept with deployment architecture, and created deployment script with Docker build, cache management, and database initialization.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu server with Docker containers, database initialization, and migrations.
**Done:** Generated docker-compose configs (dev/prod), Apache vhost config, environment templates, and backend/frontend structure with FastAPI and database models.

### 2026-04-17 – Create an idempotent deployment script for
**Asked:** Create an idempotent deployment script for Ubuntu server with Docker, database initialization, and migrations.
**Done:** Generated docker-compose configurations, Apache vhost setup, backend models, and deployment infrastructure templates.

### 2026-04-17 – Asked | Analyzed project data to
**Asked:** Asked | Analyzed project data to create application concept and development plan for Docker deployment with Ubuntu/Apache reverse proxy and SSL
**Done:** Done | Generated complete project structure with final task status and architecture documentation avoiding WebSockets due to server timeout constraints


## Change Log
| Date | Requested | Changed | Files |
|------|-----------|---------|-------|
| 2026-04-20 | Progress indicator, export filtering | Added progress tracking, variant ID filtering, unique PDF naming | Layout.tsx, BannerEditor.tsx, BriefEditor.tsx, ExportPage.tsx, VariantsGrid.tsx |
| 2026-04-20 | Progress indicator | Add step tracking, backward navigation, gray out incomplete steps | Layout.tsx, BriefEditor.tsx, VariantsGrid.tsx, BannerEditor.tsx, ExportPage.tsx |
| 2026-04-20 | Progress indicator | Backward navigation, forward steps grayed out, always visible | Layout.tsx, BannerEditor.tsx, BriefEditor.tsx, ExportPage.tsx, VariantsGrid.tsx |
| 2026-04-20 | Progress indicator | Zustand store with journey state, JourneyStepper component with Barclays tokens, Layout integration, stage completion tracking | journey.ts, stepper.tsx, Layout.tsx, BriefEditor.tsx, VariantsGrid.tsx, BannerEditor.tsx, ExportPage.tsx |
| 2026-04-20 | Progress indicator | ExportPage integration, stage completion logic, forward step disabling, navigation constraints | ExportPage.tsx, ProgressIndicator.tsx |
| 2026-04-17 | Deployment script | Docker build caching, code pull logic, database init, Alembic migrations | deploy.sh, docker-compose.yml |
| 2026-04-17 | Editor form UI | Replace TOV checkboxes with textarea, remove unused cn import | EditorForm.tsx |
| 2026-04-17 | Deployment script | Docker build with cache, code pull, DB init, Alembic migrations | deploy.sh |
| 2026-04-17 | Deployment script, Docker build optimization, database initialization | deploy.sh, docker-compose.yml, migration configs | deploy.sh, docker-compose.yml, alembic.ini |
| 2026-04-17 | Deployment script | Docker build cache, database init, migrations, frontend cleanup, EmailStr removal, ExportPage VITE_BASE_PATH fix | deploy.sh, ExportPage.tsx, API models |
| 2026-04-17 | Deployment script | Docker build with cache and code pull, database initialization and migrations, frontend cleanup, BannerEditor auto-load images | deploy.sh, docker-compose.yml, BannerEditor.tsx |
| 2026-04-17 | Deploy script creation | deploy.sh with Docker build, DB init, Alembic migrations | deploy.sh |
| 2026-04-17 | Deployment automation | Git push command, deploy.sh execution | deploy.sh, git repository |
| 2026-04-17 | Deployment & admin API | deploy.sh script, GET/POST/PATCH/DELETE user endpoints, frontend cleanup | deploy.sh, backend API routes, frontend build config |
| 2026-04-17 | Deployment script | Docker build with caching, DB init, Alembic migrations, frontend cleanup | deploy.sh, apiClient.ts |
| 2026-04-17 | Verified TypeScript build and pushed changes to git | Confirmed clean TypeScript compilation and committed code to repository | All project files |
| 2026-04-17 | Deployment script | Docker build with caching, database init, Alembic migrations, frontend cleanup | deploy.sh, docker-compose.yml |
| 2026-04-17 | Deployment script | Docker build with cache, DB initialization, Alembic migrations, frontend cleanup | deploy.sh, docker-compose.yml |
| 2026-04-17 | Deployment automation | Docker build caching, database migrations, idempotent script logic | deploy.sh, docker-compose.yml |
| 2026-04-17 | Deployment script | Docker build with cache refresh, database initialization and migrations, Apache Include configuration | deploy-ubuntu.sh, apache-barclays.conf, sites-enabled/optical-dev.oliver.solutions.conf |
| 2026-04-17 | Deployment script & Apache config | Fixed sites-enabled patching, updated deploy.sh for correct config file | deploy.sh, apache-config-patch |
| 2026-04-17 | Deployment automation | Docker build cache, database migrations, Apache reload script, .env production config | deploy.sh, docker-compose.yml, apache-vhost.conf |
| 2026-04-17 | Apache config fix | ProxyPass to Location blocks, FallbackResource instead of RewriteRule, Alias priority resolution | apache2.conf |
| 2026-04-17 | Deployment script & Apache config | Docker build caching, DB init/migrations, Apache ProxyPass fix with Location blocks | deploy script, apache-barclays.conf |
| 2026-04-17 | Deployment script & Apache config | Docker build with cache management, database initialization, Alembic migrations, frontend cleanup, vhost Include directive reordering | deploy.sh, /etc/apache2/sites-available/optical-dev.oliver.solutions.conf |
| 2026-04-17 | Deployment setup | Apache conf Include order, deploy.sh idempotent script | deploy.sh, /etc/apache2/sites-available/optical-dev.oliver.solutions.conf |
| 2026-04-17 | Deployment setup | deploy.sh creation, Apache VirtualHost reordering, Docker build cache management | deploy.sh, /etc/apache2/sites-available/optical-dev.oliver.solutions.conf |
| 2026-04-17 | Deployment script & Apache config | Docker build caching, idempotent database init, Alembic migrations, Apache ProxyPass setup | deploy.sh, optical-dev.oliver.solutions.conf |
| 2026-04-17 | Deployment script & Apache config | Docker build caching, database migrations, Apache proxy setup | deploy.sh, optical-dev.oliver.solutions.conf |
| 2026-04-17 | Deployment script | Docker build caching, database init, migrations, frontend cleanup | deploy.sh, main.py |
| 2026-04-17 | Deployment script | Docker build with cache, database init, migrations execution, frontend cleanup | deploy.sh, main.py |
| 2026-04-17 | Deployment script | Docker build with cache, DB initialization, Alembic migrations, idempotent logic | deploy.sh, docker-compose.yml |
| 2026-04-17 | Deployment script | Docker build with cache, database initialization, Alembic migrations, frontend cleanup | deploy.sh |
| 2026-04-17 | Deployment script & TypeScript fixes | Docker build caching, database initialization, Alembic migrations, unused variable handling | deploy.sh, vite.config.ts |
| 2026-04-17 | Deployment script & permissions | Docker build caching, database migration automation, file permissions correction, package-lock.json generation | deploy.sh, assets directory permissions, package-lock.json |
| 2026-04-17 | Deployment script | Docker build with cache, database initialization and migrations, frontend asset cleanup | deploy.sh, assets/illustrations/ |
| 2026-04-17 | Deployment script | Docker builds with cache invalidation, database initialization, Alembic migrations, frontend cleanup | deploy.sh, docker-compose.yml |
| 2026-04-17 | Deployment script & volume mount | Add rag-corpus volume to docker-compose, fix mount path | docker-compose.yml, docker-compose.prod.yml |
| 2026-04-17 | Deployment script & auth fix | Remove passlib dependency, add bcrypt direct calls, create idempotent deploy script | auth.py, requirements.txt, deploy.sh |
| 2026-04-17 | Deployment script & migration fixes | Fixed nested Column syntax, changed embedding columns to vector(1536), added idempotent deployment logic | deploy.sh, migrations/alembic_version.py |
| 2026-04-17 | Deploy script fix | Corrected pyproject.toml path from root to backend/pyproject.toml, fixed exit code handling in hash calculation | deploy.sh |
| 2026-04-17 | Deployment script & build fix | Dockerfile layering order, pyproject.toml build configuration | Dockerfile, pyproject.toml |
| 2026-04-17 | App concept & deployment | README documentation, Docker setup plan, Ubuntu deployment script scaffold | README.md, deploy.sh |
| 2026-04-17 | Deployment script | Docker build automation, database migrations, code pull on each run | deploy.sh, docker-compose.yml, alembic configuration |
| 2026-04-17 | Log | Deployment architecture | Server setup, Apache config template, port allocation table, idempotent deployment script | optical-dev-server-deploy.md, deploy.sh, apache-fragment-template.conf |
| 2026-04-17 | Deployment automation | Server architecture doc, Apache vhost template, idempotent deployment patterns | wiki/architecture/optical-dev-server-deploy.md, _index.md |
| 2026-04-17 | Deployment script | Docker build caching, database migrations, idempotent logic | deploy.sh, architecture/_index.md |
| 2026-04-17 | Deployment automation | Docker build script, database migrations, Apache reverse proxy config, CLAUDE.md documentation | deploy.sh, CLAUDE.md, docker-compose.yml |
| 2026-04-17 | Deployment infrastructure | docker-compose.yml, docker-compose.prod.yml, Apache vhost config, .env.example | docker-compose.yml, docker-compose.prod.yml, apache/barclays-copygen.conf, .env.example |
| 2026-04-17 | Deployment infrastructure | docker-compose.yml, docker-compose.prod.yml, apache/barclays-copygen.conf, .env.example | docker-compose.yml, docker-compose.prod.yml, apache/barclays-copygen.conf |
| 2026-04-17 | App concept & dev plan | Project structure, architecture docs, deployment config | docker-compose.yml, apache-config.conf, project-structure.md |

## Related
