Skip to content

inma06/en_learning_for_AI

Repository files navigation

AI 기반 영어 학습 플랫폼

뉴스 헤드라인을 활용한 AI 기반 영어 학습 플랫폼입니다. CNN, BBC, Reuters의 최신 뉴스를 기반으로 영어 학습 자료를 자동으로 생성합니다.

프로젝트 구조

. ├── backend/ # Express.js 기반 API 서버 │ └── crawler/ # Python 기반 뉴스 헤드라인 스크래퍼 ├── frontend/ │ ├── app/ # Flutter 기반 모바일 앱 (iOS, Android) │ └── web-admin/ # Next.js 기반 관리자 콘솔 ├── docker/ # Docker 설정 파일 (docker-compose.yml 포함) └── docs/ # 프로젝트 관련 문서 

기술 스택

백엔드

  • Express.js: API 서버
  • MongoDB: 데이터베이스
  • OpenAI API: 영어 학습 자료 생성

프론트엔드

  • 모바일 앱: Flutter
    • 상태 관리: Riverpod
    • 데이터 모델링: Freezed
    • HTTP 통신: Dio + Retrofit
    • 로컬 스토리지: Hive, SharedPreferences
  • 관리자 콘솔: Next.js
    • UI 프레임워크: Chakra UI
    • 상태 관리: React Query
    • HTTP 클라이언트: Axios

크롤러

  • Python 3.10: 메인 언어
  • BeautifulSoup4: 웹 스크래핑
  • MongoDB: 데이터 저장

주요 기능

모바일 앱

  • 소셜 로그인 (Google, Apple)
  • 자동 로그인
  • 학습 화면
  • 연습 화면
  • 프로필 관리

관리자 콘솔

  • 사용자 관리
  • 학습 자료 관리
  • 통계 및 분석
  • 시스템 설정

크롤러

  • CNN, BBC, Reuters 뉴스 스크래핑
  • 헤드라인 데이터 정제
  • MongoDB 저장

개발 환경 설정

필수 요구사항

  • Node.js (LTS 버전)
  • Python 3.10
  • Flutter (stable 채널)
  • Docker와 Docker Compose
  • MongoDB

로컬 개발 환경 설정

  1. 저장소 클론:

    git clone [repository-url] cd language_learning_app
  2. 환경 변수 설정:

    # 환경 변수 파일 복사 cp backend/.env.example backend/.env cp frontend/app/.env.example frontend/app/.env cp frontend/web-admin/.env.example frontend/web-admin/.env
  3. 개발 환경 실행:

    docker-compose up -d
  4. 각 서비스 실행:

    백엔드

    cd backend npm install npm run dev

    모바일 앱

    cd frontend/app flutter pub get flutter run

    관리자 콘솔

    cd frontend/web-admin npm install npm run dev

    크롤러

    cd crawler python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate pip install -r requirements.txt python main.py

Docker 개발 환경

프로젝트는 Docker를 통한 개발 환경을 제공합니다. 전체 스택을 실행하려면:

docker-compose up -d

아키텍처

모바일 앱 (Clean Architecture)

lib/ ├── core/ # 핵심 기능 │ ├── config/ # 앱 설정 │ ├── error/ # 에러 처리 │ ├── network/ # 네트워크 설정 │ ├── storage/ # 로컬 저장소 │ └── utils/ # 유틸리티 │ ├── features/ # 기능별 모듈 │ ├── auth/ # 인증 │ ├── learning/ # 학습 │ ├── profile/ # 프로필 │ └── settings/ # 설정 │ └── 각 기능은 Clean Architecture 패턴을 따름: ├── data/ # 데이터 계층 ├── domain/ # 도메인 계층 └── presentation/ # 프레젠테이션 계층 

개발 가이드라인

코드 스타일

  • Flutter: flutter format 사용
  • Python: black 포맷터 사용
  • JavaScript/TypeScript: ESLint + Prettier 사용

Git 커밋 메시지

  • feat: 새로운 기능
  • fix: 버그 수정
  • docs: 문서 수정
  • style: 코드 포맷팅
  • refactor: 코드 리팩토링
  • test: 테스트 코드
  • chore: 빌드 업무 수정

라이선스

[라이선스 정보 추가 예정]

기여 방법

  1. 이슈 생성 또는 기존 이슈 확인
  2. 새로운 브랜치 생성
  3. 변경사항 커밋
  4. Pull Request 생성

향후 개발 계획

음성 인식 기능

  • 음성 인식 정확도 향상
  • 음성 파형 시각화
  • 발음 평가 시스템

학습 기능

  • 개인화된 학습 경로
  • 학습 통계 및 리포트
  • 게이미피케이션 요소

UI/UX 개선

  • 다크 모드
  • 다국어 지원
  • 접근성 개선

About

AI 영어 학습 서비스_app_flutter

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors