Initial written at September 19, 2024
last updated at: December 07, 2024
- ver 1.0.0.
- Init: 프로젝트 세팅 ( React + Spring Boot )
- react-app: 코드 변경 내역 감지 -> 즉시 코드 반영
- CICD 파이프라인 구축: Github Actions + AWS ECR & ECS ( Fargate )
- ver 1.0.1.
- 리드미 파일 포트 수정: Vite 포트번호로 변경
- rollup 패키지 최신버전으로 업데이트 -> 의존성 취약점 문제 해결
- springboot-app: 소셜로그인 -> 네이버, 카카오, 구글
- ver 1.0.2.
- react-app: 소셜로그인, 결제 페이지 구현
- springboot-app: 소셜로그인 보안 개선, 법률 용어 API 구축
- ver 1.1.0.
- react-app: 채팅 페이지, 법률 용어 사전 페이지 구현
- springboot-app: 챗봇 API 연결, FastAPI 환경 세팅
- chatbot-app: 챗봇 모델 구현 및 서버와 연결
- ver 1.1.1.
- react-app: 유저 테스트 피드백 반영 UI 개선, 법률 기관 API 연결
- springboot-app: 법률 기관 API 구축, 1차 배포
-
본 프로젝트는 2024년 하반기 인하대학교 컴퓨터공학 종합설계 3분반 1조 프로젝트입니다
-
기간 : 2024.09.04 ~ 2024.12.17
-
본 프로젝트의 운영체제는 Linux OS를 기반으로 작성되었습니다.
-
인원 : 4인 ( 12171689 장승범, 12181639 윤준혁, 12181683 정재현, 12201836 이영주 )
장승범 윤준혁 정재현 이영주 BE AI BE FE @JSeungBeom @laz2berry @pastjung @abyss-s
-
본 프로젝트는 Docker를 사용하므로
.env.template
파일을 참고하여.env
파일에 환경 변수값을 작성해주세요.-
root, react-app, springboot-app, chatbot-app 총 4가지 파일을 모두 작성해주세요.
-
HOST_PORT
: 외부에서 컨테이너의 애플리케이션에 접근하는데 사용하는 포트 ( 노출되도 괜찮은 포트 ) -
SERVER_PORT
: 애플리케이션이 컨테이너 내에서 통신하는 포트 ( 노출되면 안되는 포트 ) -
Vite에서는 보안이 필요한 환경변수의 유출을 막기 위해서
VITE_
으로 시작하지 않는 환경변수는 무시되기 때문에VITE_SPRINGBOOT_HOST_PORT
가 필요합니다. -
IP_ADDRESS
: 사용하는 도메인 혹은 로드밸런서 DNS이름으로 설정해주세요. 만약 로컬 환경이라면localhost
로 설정해주세요. -
root/.env
: 로컬 환경에서 docker-compose.yml 파일을 실행시키기 위해 필요한 환경 변수 파일입니다.# 예시 SPRINGBOOT_HOST_PORT=8081 SPRINGBOOT_SERVER_PORT=8080 REACT_HOST_PORT=5174 REACT_SERVER_PORT=5173
-
react-app/.env
: React 애플리케이션 환경을 실행시키기 위해 필요한 환경 변수 파일입니다.# 예시 VITE_REACT_SERVER_PORT=5173 VITE_SPRINGBOOT_HOST_PORT=8081 VITE_IP_ADDRESS=localhost
-
springboot-app/.env
: Springboot 애플리케이션 환경을 실행시키기 위해 필요한 환경 변수 파일입니다.# 예시 REACT_HOST_PORT=5174 IP_ADDRESS=localhost
-
chatoot-app/.env
: Chatbot 애플리케이션 환경을 실행시키기 위해 필요한 환경 변수 파일입니다.# 예시 SERVER_PORT=8000
-
-
본 프로젝트는 Springboot를 사용하므로
springboot-app/src/main/resources/application.yml.template
파일을 참고하여application.yml
파일을 생성해주세요.springboot-app/src/main/resources/application.yml
본 프로젝트는 Docker Compose를 사용하므로 이를 실행시켜주세요.
(sudo) docker compose up (--build)
본 프로젝트는 Docker Compose를 사용하므로 이를 실행시켜주세요.
(sudo) docker compose down (-v)
/OPEN-LAWYER
├── .github/
│ └── workflows
│ └── CICD.yml
│
├── docs/
│ ├── PULL_REQUEST_TEMPLATE.md
│ └── README.md
│
├── react-app/
│ ├── public/
│ │ └── vite.svg
│ ├── src/
│ │ ├── assets/
│ │ │ └── vite.svg
│ │ ├── App.css
│ │ ├── App.jsx
│ │ ├── index.css
│ │ └── main.jsx
│ │
│ ├── .env
│ ├── .env.template
│ ├── .gitignore
│ ├── dockerfile
│ ├── dockerfile.dev
│ ├── eslint.config.js
│ ├── index.html
│ ├── package-lock.json
│ ├── package.json
│ ├── README.md
│ └── vite.config.js
│
├── springboot-app/
│ ├── gradle/
│ │ └── wrapper/
│ │ ├── gradle-wrapper.jar
│ │ └── gradle-wrapper.properties
│ ├── src/
│ │ ├── main/
│ │ │ ├── java/com/inha/springbootapp/
│ │ │ │ ├── domain
│ │ │ │ │ └── HelloController.java
│ │ │ │ ├── global
│ │ │ │ │ └── GlobalCorsConfig.java
│ │ │ │ └── springbootAppApplication.java
│ │ │ └── resources/
│ │ │ ├── application.properties
│ │ │ └── application.properties.template
│ │ └── test/
│ │ └── java/com/inha/springbootapp/
│ │ └── springbootAppApplicationTest.java
│ │
│ ├── .env
│ ├── .env.template
│ ├── .gitignore
│ ├── build.gradle
│ ├── dockerfile
│ ├── dockerfile.dev
│ ├── gradlew
│ ├── gradlew.bat
│ └── settings.gradle
│
├── .env
├── .env.template
├── .gitattributes
├── .gitignore
└── docker-compose.yml