.
├── docker-compose.yml
├── .env.template
├── backend
│ ├── config
│ │ └── nginx
│ │ └── project.conf
│ ├── core
│ │ ├── settings.py
│ │ ├── urls.py
│ │ └── asgi.py
│ ├── search # DB 검색 기능
│ │ ├── models.py
│ │ ├── urls.py
│ │ └── views.py
│ ├── users # 유저 관리 (회원가입, 로그인, 로그아웃)
│ │ ├── models.py
│ │ ├── urls.py
│ │ └── views.py
│ ├── Dockerfile
│ ├── manage.py
│ └── requirements.txt
│
└── frontend
├── src
│ ├── assets
│ ├── components
│ ├── router
│ ├── store
│ ├── views
│ ├── App.vue
│ └── main.js
└── Dockerfile
-
GitHub에서 리포지토리 복제
git clone https://github.com/changhy2001/orchestrator.git cd orchestrator -
환경변수 설정: .env.template 사용하여 .env 파일 생성
cp backend/.env.example backend/.env
-
컨테이너 빌드 및 실행
docker-compose up --build
-
애플리케이션 접근
http://localhost
┌──────────────────────────────────────────────┐
│ Client │
│ (Browser: http://localhost) │
└──────────────────────────────────────────────┘
│
HTTP 요청 (포트 80)│
▼
┌──────────────────────────────────────────────┐
│ Nginx │
│ (http://localhost:80) │
│ - 정적 파일: /usr/share/nginx/html (Vue dist) │
│ - API 프록시: /users/ 요청을 Django로 전달 │
│ (proxy_pass http://django_web:8000) │
└──────────────────────────────────────────────┘
│
▼
┌──────────────────────────────────────────────┐
│ Django │
│ (http://django_web:8000) │
│ - 백엔드 API 처리 및 비즈니스 로직 │
└──────────────────────────────────────────────┘
│
DB 연결 (DATABASE_URL 환경변수)
│
▼
┌──────────────────────────────────────────────┐
│ Database │
│ (Railway PostgreSQL: │
│ mainline.proxy.rlwy.net:43252) │
│ - 데이터 저장 및 조회 │
└──────────────────────────────────────────────┘
-
Client (브라우저)
- 사용자는 웹 브라우저에서
http://localhost주소로 접속
- 사용자는 웹 브라우저에서
-
Nginx (Reverse Proxy & 정적 파일 서버)
- 포트 80에서 요청을 받고, Vue 앱의 빌드 산출물(
dist폴더의 내용) 서빙 /users/등의 API 요청은http://django_web:8000으로 프록시
- 포트 80에서 요청을 받고, Vue 앱의 빌드 산출물(
-
Django (백엔드 서버)
- API 요청을 처리하고, 비즈니스 로직 수행
DATABASE_URL환경변수를 통해 PostgreSQL 데이터베이스와 연동
-
Database (PostgreSQL)
- 실제 데이터 저장소, 주소는
mainline.proxy.rlwy.net:43252
- 실제 데이터 저장소, 주소는
-
검색 화면 (정삭적으로 로그인되었을 경우) - username, credential, qustion, date 별 필터링 기능을 통한 검색

-
로그아웃 - 로그아웃 텍스트 클릭 시 정상적으로 로그아웃되며 Home 화면으로 돌아감




