Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feedback #1

Open
wants to merge 22 commits into
base: feedback
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
267 changes: 79 additions & 188 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,205 +1,96 @@
# Template for Capstone
이 레파지토리는 학생들이 캡스톤 프로젝트 결과물을 위한 레파지토리 생성시에 참고할 내용들을 담고 있습니다.
1. 레파지토리 생성
2. 레파지토리 구성
3. 레파지토리 제출
4. README.md 가이드라인
5. README.md 작성팁
# 머신러닝, 자연어 처리 기반 중고차 추천 플랫폼

---

## 1. 레파지토리 생성
- [https://classroom.github.com/a/NJK_cPkH](https://classroom.github.com/a/NJK_cPkH)
- 위 Github Classroom 링크에 접속해 본인 조의 github 레파지토리를 생성하세요.
<img src="https://github.com/user-attachments/assets/b5a7f34a-e146-4253-b57d-672737a75a50" alt="깃헙 클래스룸 레포 생성" width="600" />

- 레포지토리 생성 시 팀명은 `TEAM-{조 번호}` 형식으로 생성하세요.
- 예를 들어, 2024년도 3조의 팀명은 `TEAM-03` 입니다.
- 이 경우 `Capstone2024-TEAM-03`이란 이름으로 레파지토리가 생성됩니다.

---

## 2. 레파지토리 구성
- 레파지토리 내에 README.md 파일 생성하고 아래의 가이드라인과 작성팁을 참고하여 README.md 파일을 작성하세요. (이 레파지토리의 SAMPLE_README.md 참조)
- 레파지토리 내에 docs 디렉토리를 생성하고 docs 디렉토리 내에는 과제 수행 하면서 작성한 각종 보고서, 발표자료를 올려둡니다. (이 레파지토리의 docs 디렉토리 참조)
- 그 밖에 레파지토리의 폴더 구성은 과제 결과물에 따라 자유롭게 구성하되 가급적 코드의 목적이나 기능에 따라 디렉토리를 나누어 구성하세요.

---

## 3. 레파지토리 제출

- **`[주의]` 레파지토리 제출**은 해당 레파지토리의 ownership을 **학과 계정**으로 넘기는 것이므로 되돌릴 수 없습니다.
- **레파지토리 제출** 전, 더 이상 수정 사항이 없는지 다시 한번 확인하세요.
- github 레파지토리에서 Settings > General > Danger zone > Transfer 클릭
<img src="https://github.com/user-attachments/assets/cb2361d4-e07e-4b5d-9116-aa80dddd8a8b" alt="소유주 변경 경로" width="500" />

- [ Specify an organization or username ]에 'PNUCSE'를 입력하고 확인 메세지를 입력하세요.
<img src="https://github.com/user-attachments/assets/7c63955d-dcfe-4ac3-bdb6-7d2620575f3a" alt="소유주 변경" width="400" />

---

## 4. README.md 가이드 라인
- README 파일 작성시에 아래의 5가지 항목의 내용은 필수적으로 포함해야 합니다.
- 아래의 5가지 항목이외에 프로젝트의 이해를 돕기 위한 내용을 추가해도 됩니다.
- SAMPLE_README.md 이 단순한 형태의 예제이니 참고하세요.

```markdown
### 1. 프로젝트 소개
#### 1.1. 배경 및 필요성
> 프로젝트를 실행하게 된 배경 및 필요성을 작성하세요.
* 기존 LLM은 일반적인 질문에는 쉽게 답변하지만, 특정 분야의 전문적인 지식이 요구되는 질문에는 한계가 있다.
* 이를 보완하기 위해서는 해당 도메인에 특화된 추가 학습 또는 추가적인 정보 검색 및 연동 시스템이 필요하다.
* 중고차 매물 및 관련 정보들은 매우 방대하지만, 일반 소비자들이 원하는 정보를 찾기에는 힘든 경우가 많다.

#### 1.2. 목표 및 주요 내용
> 프로젝트의 목표 및 주요 내용을 작성하세요.
* 중고차 관련 지식이 부족한 일반 사용자도 쉽게 정보를 얻고, 적합한 매물을 추천받을 수 있는 챗봇을 제작한다.
* 간단하고 직관적인 인터페이스의 웹 애플리케이션 형태로 서비스를 제공하여 사용자가 쉽게 사용하도록 한다.

### 2. 상세설계
#### 2.1. 시스템 구성도
> 시스템 구성도(infra, front, back등의 node 간의 관계)의 사진을 삽입하세요.
#### 2.1. RAG 모델
<div align="center">
<img src="https://github.com/user-attachments/assets/961eee3d-045d-4b5b-bdf6-140e911c1490" alt="RAG 모델" />
</div>

#### 2.2. 챗봇 서비스
<div align="center">
<img src="https://github.com/user-attachments/assets/6ae027a5-ee55-4864-b7c6-5ed91dadcca3" alt="챗봇 서비스" />
</div>

#### 2.1. 사용 기술
> 스택 별(backend, frontend, designer등) 사용한 기술 및 버전을 작성하세요.
#### 2.3. 사용 기술
>
> ex) React.Js - React14, Node.js - v20.0.2
> #### 디자인 기술 스택
> Tailwind CSS - 3.4.12
> PostCSS - 8.4.47
> Autoprefixer - 10.4.20
>
> #### 프론트엔드 기술 스택
> React, React DOM - 18.3.1
> React Router - 6.26.2
> Axios - 1.7.7
> React Cookie - 7.2.1
> TypeScript - 4.4.2
> React Scripts - 5.0.1
>
> #### 백엔드 기술 스택
> Spring Boot - 3.3.2
> MariaDB - 3.4.1
> Java - Java 17

### 3. 설치 및 사용 방법
> 제품을 설치하기 위헤 필요한 소프트웨어 및 설치 방법을 작성하세요.
> #### 해당 서비스를 동작하기 위해 사전에 다음과 같은 프로그램을 설치합니다.
>
> 제품을 설치하고 난 후, 실행 할 수 있는 방법을 작성하세요.
> 1. node.js
> - 공식 홈페이지에서 node.js를 설치하세요(https://nodejs.org/en)
> - 설치를 완료하고 ```npm i -g yarn```을 실행해 패키지 매니저를 다운받는다
>
> 2. intellij IDEA
> - 공식 홈페이지에서 intellij를 설치하세요 (https://www.jetbrains.com/idea/download/?section=windows)
> - community 버전을 사용해도 무관하지만 untilmate 버전을 추천드립니다.
>
> 3. Docker Desktop
> - 공식 홈페이지에서 docker desktop을 설치하세요 (https://www.docker.com/products/docker-desktop/)
> - 다운로드 후 실행했을 때 wsl 오류가 발생한다면 호스트 파일 변경을 차단하는 경우가 있을 수 있으니, 알약 등 백신 프로그램에서 해당 기능을 해제하세요.
>
> 4. MariaDB
> - 공식 홈페이지에서 MariaDB를 설치하세요 (https://mariadb.org/download/?t=mariadb&p=mariadb&r=11.5.2&os=windows&cpu=x86_64&pkg=msi&mirror=blendbyte)
> - msi 파일을 다운받고 실행한 후 단계별로 따라오면 됩니다.
> - user setting 페이지에서 root 계정에 사용할 비밀 번호와 UTF8을 사용하게 설정합니다.
> - 이후 설치를 완료하면 HeidSQL을 동작시켜 왼쪽 하단의 NEW를 클릭, 설정한 password를 입력하면 서버에 접속할 수 있습니다.
>
> #### 서비스 실행
> 1. github에서 모든 파일을 local로 내려받는다.
> 2. intellij에서 내려받은 경로를 통해 car-talk-develop 폴더를 열고 gradle 설정이 완료될 때 까지 기다린다.
> 3. 좌측 terminal에서 ```pip install -r infra/requirements.txt``` 를 입력하고 실행한다.
> 4. windows powershell을 실행하고 루트 폴더 (yarn.lock 파일이 존재하는 경로)로 이동해 yarn을 입력해 실행한다.
> 5. docker desktop을 실행하고 intellij에서 docker-compose.yml 파일을 실행한다.
> 6. docker에서 모든 파일이 ruuning 상태임을 확인하면 application-local(h2 database 사용), application-dev.yml(MariaDB 사용) 중 택하여 실행한다.
> 7. springboot 프로젝트와 docker가 정상적으로 동작하면 windows powershell에서 루트 폴더 (yarn.lock 파일이 존재하는 경로)로 이동한 후 ```yarn start:dev```를 입력하고 실행한다.
> 8. localhost:3000으로 접속하거나, 잠시 기다려 서비스 동작을 확인한다.

### 4. 소개 및 시연 영상
> 프로젝트에 대한 소개와 시연 영상을 넣으세요.
[![2024년 전기 졸업과제 34 도미노](http://img.youtube.com/vi/Cjc282zJxf8/0.jpg)](https://www.youtube.com/watch?v=Cjc282zJxf8)

### 5. 팀 소개
> 팀원 소개 & 구성원 별 역할 분담 & 간단한 연락처를 작성하세요.
```

## 5. README.md 작성팁
* 마크다운 언어를 이용해 README.md 파일을 작성할 때 참고할 수 있는 마크다운 언어 문법을 공유합니다.
* 다양한 예제와 보다 자세한 문법은 [이 문서](https://www.markdownguide.org/basic-syntax/)를 참고하세요.

### 5.1. 헤더 Header
```
# This is a Header 1
## This is a Header 2
### This is a Header 3
#### This is a Header 4
##### This is a Header 5
###### This is a Header 6
####### This is a Header 7 은 지원되지 않습니다.
```
<br />

### 5.2. 인용문 BlockQuote
```
> This is a first blockqute.
> > This is a second blockqute.
> > > This is a third blockqute.
```
> This is a first blockqute.
> > This is a second blockqute.
> > > This is a third blockqute.
<br />

### 5.3. 목록 List
* **Ordered List**
```
1. first
2. second
3. third
```
1. first
2. second
3. third
<br />

* **Unordered List**
```
* 하나
* 둘

+ 하나
+ 둘

- 하나
- 둘
```
* 하나
* 둘

+ 하나
+ 둘

- 하나
- 둘
<br />

### 5.4. 코드 CodeBlock
* 코드 블럭 이용 '``'
```
여러줄 주석 "```" 이용
"```
#include <stdio.h>
int main(void){
printf("Hello world!");
return 0;
}
```"

단어 주석 "`" 이용
"`Hello world`"

* 큰 따움표(") 없이 사용하세요.
```
<br />

### 5.5. 링크 Link
```
[Title](link)
[부산대학교 정보컴퓨터공학부](https://cse.pusan.ac.kr/cse/index..do)

<link>
<https://cse.pusan.ac.kr/cse/index..do>
```
[부산대학교 정보컴퓨터공학부](https://cse.pusan.ac.kr/cse/index..do)

<https://cse.pusan.ac.kr/cse/index..do>
<br />

### 5.6. 강조 Highlighting
```
*single asterisks*
_single underscores_
**double asterisks**
__double underscores__
~~cancelline~~
```
*single asterisks* <br />
_single underscores_ <br />
**double asterisks** <br />
__double underscores__ <br />
~~cancelline~~ <br />
<br />

### 5.7. 이미지 Image
```
<img src="image URL" width="600px" title="Title" alt="Alt text"></img>
![Alt text](image URL "Optional title")
```
- 웹에서 작성한다면 README.md 내용 안으로 이미지를 드래그 앤 드롭하면 이미지가 생성됩니다.
- 웹이 아닌 로컬에서 작성한다면, github issue에 이미지를 드래그 앤 드롭하여 image url 을 얻을 수 있습니다. (URL만 복사하고 issue는 제출 안 함.)
<img src="https://github.com/user-attachments/assets/0fe3bff1-7a2b-4df3-b230-cac4ef5f6d0b" alt="이슈에 image 올림" width="600" />
<img src="https://github.com/user-attachments/assets/251c6d42-b36b-4ad4-9cfa-fa2cc67a9a50" alt="image url 복사" width="600" />


### 5.8. 유튜브 영상 추가
```markdown
[![영상 이름](유튜브 영상 썸네일 URL)](유튜브 영상 URL)
[![부산대학교 정보컴퓨터공학부 소개](http://img.youtube.com/vi/zh_gQ_lmLqE/0.jpg)](https://www.youtube.com/watch?v=zh_gQ_lmLqE)
```
[![부산대학교 정보컴퓨터공학부 소개](http://img.youtube.com/vi/zh_gQ_lmLqE/0.jpg)](https://www.youtube.com/watch?v=zh_gQ_lmLqE)

- 이때 유튜브 영상 썸네일 URL은 유투브 영상 URL로부터 다음과 같이 얻을 수 있습니다.

- `Youtube URL`: https://www.youtube.com/watch?v={동영상 ID}
- `Youtube Thumbnail URL`: http://img.youtube.com/vi/{동영상 ID}/0.jpg
- 예를 들어, https://www.youtube.com/watch?v=zh_gQ_lmLqE 라고 하면 썸네일의 주소는 http://img.youtube.com/vi/zh_gQ_lmLqE/0.jpg 이다.
* 이은진 [email protected]
- 챗봇 웹페이지 UI 디자인 설계
- 중고차 관련 외부 데이터 수집
- RAG 시스템 설계 및 모델 구현
- 프론트엔드 일부 기능 개발

* 최성빈 [email protected]
- 데이터베이스 구조 설계
- 백엔드 전체 시스템 개발
- 프론트엔드 일부 기능 개발
- 버그 수정 및 최종 테스트

* 최희웅 [email protected]
- 중고차 매물 크롤링 및 전처리
- 중고차 관련 외부 데이터 수집
- Flask를 이용한 챗봇 API 구축
- 프론트엔드 일부 기능 개발

Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
HELP.md
.gradle
build/
!gradle/wrapper/gradle-wrapper.jar
!**/src/main/**/build/
!**/src/test/**/build/
.env.example
### STS ###
.apt_generated
.classpath
.factorypath
.project
.settings
.springBeans
.sts4-cache
bin/
!**/src/main/**/bin/
!**/src/test/**/bin/

### IntelliJ IDEA ###
.idea
*.iws
*.iml
*.ipr
out/
!**/src/main/**/out/
!**/src/test/**/out/

### NetBeans ###
/nbproject/private/
/nbbuild/
/dist/
/nbdist/
/.nb-gradle/

### VS Code ###
.vscode/

### environments ###
infra/llm/.env
.env
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading