프로젝트명세서•4.41 kB
1. 프로젝트 개요 (Project Summary)
하나의 프로젝트는 여러사람들의 손을 지나감에 따라 일관된 소스코드 스타일을 유지하기가 어렵음,
특히 flutter의 경우 아키텍쳐가 여러가지가 존재하며 상태관리 툴에 따라 그 스타일이 많이 나뉘어짐
따라 큰 프로젝트트 소형프로젝트가 여러사람을 거쳐 개발될 경우 유지보수의 혼란을 가중 시키는 경우가 많고
소스를 이해하는데 많은 어려움을 느낌
따라서 본 프로젝트에서는 위의 단점을 보완하고자 개발에 관련된 규칙을 정의하고 llm을 통해서 쉽고 규칙을 적용하고 일관성 있는
코드를 제공하는 것이 목표
2. 배경 및 목표 (Background & Goals)
개발 프로젝트가 시간경과 혹은 여러사람들의 참여로 프로젝트의 코드 스타일이 변화되면서 유지보수의 어려움을 느꼇으며 이를 보완하기위해 프로젝트를 시작함
초급 개발자, flutter개발자들이 llm을 통해서 개발을 진행할때 정해진 규칙에 따라 일관성 있는 코드를 제공하는 것이 목표
새로운 프로젝트 참여자가 추가 되더라도 일관성 있는 프로젝트 코드 스타일을 쉽게 유지하는 것
3. 주요 기능 (Key Features)
llm을 통한 질문을 분석하고 정해진 코드 스타일을 제공하는 기능을 정의함
• 사용자 주요 기능 목록 (간단한 설명 포함)
• 관리자/운영자 기능 (있다면)
4. 타겟 사용자 (Target Users)
초급 개발자나, flutter개발자들이 주 사용자...?
• 주요 사용자군 (예: 일반 소비자, 기업 고객, 내부 직원 등)
• 사용자 페르소나(선택)
5. 기술 스택 (Tech Stack)
적용 기술 : flutter
적용 상태관리 : Getx
필수 패키지 : dio, flutter_inappview,
6. 시스템 아키텍처 (간단히)
```
lib/
├── main.dart # 앱 시작점
├── app/
│ ├── controllers/ # Controller (비즈니스 로직)
│ │ ├── home_controller.dart
│ │ ├── auth_controller.dart
│ │ └── user_controller.dart
│ ├── models/ # Model (데이터 구조)
│ │ ├── user_model.dart
│ │ ├── product_model.dart
│ │ └── response_model.dart
│ ├── views/ # View (UI)
│ │ ├── screens/ # 전체 화면
│ │ │ ├── home/
│ │ │ │ ├── home_screen.dart
│ │ │ │ └── widgets/ # 화면별 전용 위젯
│ │ │ │ ├── home_header.dart
│ │ │ │ └── home_list_item.dart
│ │ │ ├── auth/
│ │ │ │ ├── login_screen.dart
│ │ │ │ └── register_screen.dart
│ │ │ └── profile/
│ │ │ └── profile_screen.dart
│ │ └── widgets/ # 공통 재사용 위젯
│ │ ├── custom_button.dart
│ │ ├── custom_text_field.dart
│ │ └── loading_widget.dart
│ ├── data/ # 데이터 계층
│ │ ├── services/ # API 통신
│ │ │ ├── api_service.dart
│ │ ├── repositories/ # 데이터 처리 로직
│ │ │ ├── auth_repository.dart
│ │ │ └── user_repository.dart
│ ├── routes/ # 라우팅
│ │ ├── app_pages.dart
│ │ └── app_routes.dart
│ ├── bindings/ # 의존성 주입
│ │ ├── initial_binding.dart
│ │ ├── home_binding.dart
│ │ └── auth_binding.dart
│ └── core/ # 핵심 기능
│ ├── theme/ # 테마 설정
│ │ ├── app_colors.dart
│ │ ├── app_text_styles.dart
│ │ └── app_theme.dart
│ ├── utils/ # 유틸리티
│ │ ├── constants.dart
│ │ ├── validators.dart
│ │ └── helpers.dart
│ └── values/ # 상수값
│ ├── strings.dart
│ └── dimensions.dart
```