일기 작성하기
학생이 한국어로 일기를 작성하고 AI 첨삭을 받는 방법을 설명합니다.
목차
일기 기능 소개
목적
한국어 일기 작성 기능은 다음과 같은 목적을 가지고 있습니다:
- 한국어 쓰기 연습
- 일상적인 한국어 표현 학습
- AI를 통한 즉각적인 피드백
- 꾸준한 학습 습관 형성
주요 특징
- 매일 작성: 하루에 하나씩 일기 작성 권장
- 프라이버시 보호: 작성한 일기는 기본적으로 비공개 (본인만 볼 수 있음)
- 선택적 첨삭: 원할 때만 AI 첨삭 요청 가능
- AI 첨삭: 요청 시 AI가 문법, 어휘, 표현 개선 제안
- 포인트 획득: 일기 작성 시 +10P (일 1회)
- 히스토리 관리: 모든 일기를 날짜별로 확인 가능
- 학습 진도 추적: 작성한 일기 수, 첨삭 완료 수 확인
일기 작성하기
페이지 접근
/c/{community-slug}/diary 페이지에서 일기를 작성할 수 있습니다.
작성 시작
-
"Write Today's Diary" 버튼 클릭
- 메인 카드에서 버튼 클릭
- 작성 폼이 나타남
-
제목 입력 (선택 사항)
- 일기 제목 입력
- 비워두면 날짜가 기본 제목
-
내용 작성
- 한국어로 자유롭게 작성
- 오늘 한 일, 생각, 느낌 등
- 최소 50자 이상 권장
-
제출하기
- "제출" 버튼 클릭
- 일기가 비공개로 저장됨
- 원하면 나중에 첨삭 요청 가능
작성 가이드
추천 작성 주제:
- 오늘 한 일 (What I did today)
- 먹은 음식 (Food I ate)
- 만난 사람 (People I met)
- 본 영화나 드라마 (Movies/dramas I watched)
- 공부한 내용 (What I studied)
- 느낀 감정 (My feelings)
작성 예시:
오늘은 친구들과 한국 식당에 갔습니다.
비빔밥을 먹었는데 정말 맛있었습니다.
친구가 김치를 먹어 봤는데 너무 매웠다고 했습니다.
다음 주에 또 가고 싶습니다.
작성 팁
- 간단한 문장부터 시작
- 배운 문법과 어휘 사용해 보기
- 완벽하지 않아도 괜찮음 (AI가 도와줌)
- 매일 조금씩이라도 작성하기
- 사진이나 이미지 추가 가능 (선택 사항)
AI 첨삭 받기
첨삭 요청하기
일기 작성 후 첨삭을 받고 싶을 때:
- 일기 목록에서 "비공개" 상태인 일기를 찾습니다
- "첨삭 요청하기" 버튼 클릭
- AI 첨삭이 시작됩니다
- 약 10-30초 소요
중요:
- 첨삭을 요청하면 선생님도 일기 내용을 볼 수 있게 됩니다
- 첨삭 요청 전까지는 일기 내용이 완전히 비공개입니다
- 선생님은 일기를 작성했다는 사실만 알 수 있습니다
첨삭 내용
AI는 다음 항목을 첨삭합니다:
-
문법 오류
- 조사 사용 오류
- 동사 활용 오류
- 시제 오류
- 문장 구조 오류
-
어휘 개선
- 더 자연스러운 표현 제안
- 적절한 단어 선택
- 한국어다운 표현
-
맞춤법
- 띄어쓰기
- 철자 오류
-
표현 개선
- 더 세련된 문장 제안
- 문맥에 맞는 표현
첨삭 레벨
첨삭은 학생의 레벨에 맞춰집니다:
- 초급: 기본 문법과 필수 어휘 중심
- 중급: 자연스러운 표현과 어휘 다양성
- 고급: 세련된 표현과 뉘앙스
첨삭 내용 확인
첨삭 결과 페이지
첨삭이 완료되면:
- 원본 일기와 첨삭된 일기를 나란히 표시
- 수정된 부분을 하이라이트
- 수정 이유 설명
표시 형식
원본:
오늘은 친구들과 한국 식당에 갔습니다.
비빔밥을 먹었는데 정말 맛있었습니다.
첨삭 결과:
오늘은 친구들과 한국 식당에 갔습니다. ✅
비빔밥을 먹었는데 정말 맛있었습니다. ✅
수정 사항: 없음 - 완벽합니다!
수정이 있는 경우:
원본: 친구가 김치를 먹어 봤는데...
수정: 친구가 김치를 먹어 봤는데... → 먹어 봤는데
설명: "먹어 봤다"가 더 자연스러운 표현입니다.
피드백 유형
- 문법 수정: 빨간색으로 표시
- 어휘 제안: 파란색으로 표시
- 표현 개선: 초록색으로 표시
- 칭찬: 잘한 부분 강조
일기 목록 및 히스토리
탭별 분류
일기는 세 가지 탭으로 구분됩니다:
-
전체 (All)
- 모든 일기 표시
- 최신순 정렬
-
대기중 (Pending)
- 비공개 상태인 일기
- 아직 첨삭을 요청하지 않은 일기
- "첨삭 요청하기" 버튼으로 AI 첨삭 시작 가능
-
완료 (Completed)
- 첨삭이 완료된 일기
- 첨삭 결과 확인 가능
- 선생님도 볼 수 있음
일기 카드
각 일기 카드에는:
- 작성 날짜
- 제목 (또는 내용 미리보기)
- 첨삭 상태 (대기/완료)
- 클릭하여 상세 확인
통계
상단에 통계 정보 표시:
- 총 일기 수
- 첨삭 완료 수
- 연속 작성 일수 (스트릭)
관련 파일
페이지
-
/app/c/[slug]/diary/page.tsx(라인 1-300)- 일기 목록 및 작성 페이지
- 탭별 필터링
- 통계 표시
-
/app/c/[slug]/diary/[id]/page.tsx(라인 1-250)- 일기 상세 페이지
- 첨삭 결과 확인
API 라우트
-
/app/api/diary/create/route.ts(라인 1-150)- POST: 일기 작성
- AI 첨삭 시작
- 포인트 부여
-
/app/api/diary/[id]/route.ts(라인 1-100)- GET: 일기 상세 조회
- PUT: 일기 수정 (첨삭 전만)
- DELETE: 일기 삭제
컴포넌트
-
/components/diary-form.tsx(라인 1-200)- 일기 작성 폼
- 제출 처리
-
/components/diary-correction.tsx(라인 1-250)- 첨삭 결과 표시
- 원본/수정본 비교
AI 서비스
/lib/ai/diary-correction.ts(라인 1-300)- OpenAI API 연동
- 첨삭 로직
- 프롬프트 엔지니어링
주요 기능
자동 저장
일기 작성 중:
- 자동 저장 기능 (선택적)
- 브라우저 새로고침해도 내용 유지
- 로컬 스토리지 활용
첨삭 재요청
첨삭 결과가 만족스럽지 않으면:
- "재첨삭 요청" 버튼 클릭
- AI가 다시 첨삭
- 다른 관점의 피드백 제공
일기 공유
일기를 커뮤니티에 공유:
- "공유하기" 버튼 클릭
- 선생님 및 다른 학생들과 공유
- 댓글로 피드백 받기 (선택 사항)
사용 예시
1. 일기 작성
학생: Diary 페이지 접근
학생: "Write Today's Diary" 버튼 클릭
학생: 내용 작성
---
오늘은 한국어 수업이 있었습니다.
선생님께서 문법을 가르쳐 주셨습니다.
조금 어려웠지만 재미있었습니다.
내일도 열심히 공부하고 싶습니다.
---
학생: "제출" 버튼 클릭
시스템: "일기가 제출되었습니다. AI 첨삭 중... +10P"
2. 첨삭 확인
시스템: 첨삭 완료 알림
학생: 일기 상세 페이지 접근
표시:
원본: 선생님께서 문법을 가르쳐 주셨습니다. ✅
수정 사항: 완벽합니다!
원본: 조금 어려웠지만 재미있었습니다. ✅
개선 제안: "조금 어려웠지만" → "다소 어려웠지만"
(더 자연스러운 표현)
전체 평가:
- 문법: 완벽합니다!
- 어휘: 적절하게 사용했습니다.
- 표현: 자연스럽습니다.
- 총평: 훌륭한 일기입니다. 계속 열심히 하세요!
데이터베이스 스키마
diary_entries 테이블
{
id: string,
userId: string,
communityId: string,
title: string | null,
content: string, // 원본 일기
correctedContent: string | null, // 첨삭된 일기
corrections: JSON | null, // 상세 첨삭 내용
status: 'pending' | 'corrected',
createdAt: Date,
correctedAt: Date | null
}
corrections JSON 구조
{
grammar: [
{
original: "먹어 봤는데",
corrected: "먹어 봤는데",
explanation: "올바른 표현입니다."
}
],
vocabulary: [
{
original: "조금",
suggestion: "다소",
reason: "더 자연스러운 표현"
}
],
overall: {
grammarScore: 95,
vocabularyScore: 90,
expressionScore: 92,
feedback: "훌륭한 일기입니다!"
}
}
AI 첨삭 프롬프트
시스템 프롬프트
당신은 한국어 선생님입니다.
학생이 작성한 한국어 일기를 첨삭해 주세요.
다음 항목을 확인하세요:
1. 문법 오류
2. 어휘 사용
3. 자연스러운 표현
4. 맞춤법
학생의 레벨에 맞춰 친절하게 설명해 주세요.
잘한 부분도 칭찬해 주세요.
사용자 프롬프트
학생 레벨: 초급
일기 내용:
{일기 내용}
위 일기를 첨삭하고, 개선 방법을 제안해 주세요.
포인트 시스템
일기 작성 포인트
- 일기 작성: +10P
- 하루 1회만 포인트 부여
- 같은 날 여러 일기 작성 가능하지만 포인트는 1회
추가 포인트
- 연속 7일 작성: +50P 보너스
- 월 30일 작성: +100P 보너스
- 완벽한 일기 (첨삭 없음): +5P 추가
문제 해결
첨삭이 진행되지 않는 경우
- 네트워크 연결 확인
- 페이지 새로고침
- 잠시 후 다시 시도
일기가 저장되지 않는 경우
- 최소 글자 수 확인 (50자 이상)
- 네트워크 연결 확인
- 로그인 상태 확인
첨삭 결과가 이상한 경우
- "재첨삭 요청" 시도
- 선생님께 문의
- AI 모델 한계 이해 (100% 완벽하지 않음)
모범 사례
효과적인 일기 작성
- 매일 같은 시간에 작성 (습관 형성)
- 최소 50자 이상 작성
- 배운 문법과 어휘 활용
- 다양한 주제로 작성
- 첨삭 내용을 꼼꼼히 확인
- 다음 일기에 피드백 반영
학습 효과 극대화
- 첨삭된 부분을 노트에 정리
- 자주 틀리는 문법 패턴 파악
- 제안된 어휘를 다음 일기에 사용
- 일주일에 한 번 이전 일기 복습
- 선생님께 추가 질문
연속 작성 스트릭 유지
- 알림 설정 (매일 같은 시간)
- 간단하게라도 매일 작성
- 바쁜 날은 짧게라도 작성
- 스트릭 끊기지 않도록 주의
프라이버시
일기 공개 범위
일기는 2단계 프라이버시 보호를 제공합니다:
1단계: 작성 직후 (비공개 상태)
- 본인만 일기 내용을 볼 수 있음
- 선생님은 내용을 볼 수 없음
- 선생님은 일기를 작성했다는 통계만 볼 수 있음
- 예: "학생 A가 오늘 일기를 작성했습니다" (내용은 숨김)
2단계: 첨삭 요청 후 (선택적 공개)
- 학생이 "첨삭 요청하기" 버튼을 클릭하면:
- AI가 일기를 첨삭합니다
- 선생님도 일기 내용을 볼 수 있게 됩니다
- 선생님이 추가 피드백을 줄 수 있습니다
프라이버시 선택권
- 첨삭을 요청하지 않으면 영구히 비공개
- 언제든 원할 때만 첨삭 요청 가능
- 선생님께 보이고 싶지 않은 일기는 그대로 보관 가능
데이터 보안
- 일기 내용은 암호화되어 저장
- requestedCorrection 플래그로 공개 여부 관리
- 개인정보 보호 준수
- 삭제 요청 시 완전히 삭제됨