# 현재 개발 진행도

세부적인  내용은 REST API 및 코드 참조

Config.properties 추가 필요 (DB, MinIO 정보)

### 데이터 관련 기능

* 데이터 저장

```
- Multipart-form을 통해 클라이언트에게 업로드할 파일을 받음.
- HDFS 접근 권한 부여하는 것에 대해 잘 모르겠음. (ACL 설정)
- 멀티 스레딩으로 업로드 기능 구현
- Hadoop, minIO, Maria DB 데이터 저장 기능 구현

하지만 업로드하는 시간이 오래걸림 (현재 코드 기준 약 66초)
-> 성능 향상 필요함.

- 평시 데이터는 테스트 파일을 받은 게 없어 일단 가라로 구현
```

* 데이터 목록

```
- Maria DB에 있는 모든 데이터 목록 불러오는 기능 구현
```

* 데이터 상세 조회

```
- DataId를 통해 상세 조회할 수 있는 기능 구현
```

* 데이터 다운로드

```
- RequestId를 통해 요청 상태 및 사용자를 확인함.
- Hadoop에 있는 파일 가져와 zip으로 압축해 클라이언트에게 전달

기능은 구현했지만 코드 리팩토링이 필요함.
이 또한 파일을 가져오는 시간이 오래걸려 성능 향상이 필요함.
```

### 요청 관련 기능

* 승인 요청하기 (유저)

```
- RequestDTO 객체를 만들어 MariaDB에 저장
```

* 요청 승인하기 (관리자)

```
- 해당하는 요청의 상태를 Complete으로 변경함.
- 관리자인지 확인하는 로직 추가가 필요함.
```

* 요청 목록

```
- 사용자의 역할을 확인해 일반 사용자면 본인이 요청한 목록을 불러옴.
-  관리자면 모든 사용자의 요청 목록을 불러옴.
```

### 사용자 접근 기능

* 회원가입

```
- UserDTO를 MariaDB에 저장함.
```

* 이메일/아이디 중복체크

```
- MariaDB에 클라이언트가 입력한 값이있는지 확인함.
```

* 로그인

```
- 아이디, 비밀번호 일치하는지 확인

- 유저 권한 부여하는 거 구현 필요함. (Spring Security 관련 Config 파일은 작성함.)
- 로그아웃 시 권한 해제하는 것도 마찬가지
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://hye-gooongs-organization.gitbook.io/data-portal/undefined.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
