폴더 및 파일 작성 규칙
- services: Rest API 호출
- controllers: ViewModel에 해당하며 GetX를 통해서 데이터 바인딩 제공
- components: 라우터에 등록되지 않은 UI 요소
- dialogs: dialog 콤포넌트
- messages: 에러 또는 워닝 메시지 콤포넌트
- core: UI와 관련없이 순수 기능을 제공하는 모듈
- 싱글톤으로 구현
- 복잡한 경우 서브 폴더를 만들고 여러 개의 클래스로 나눠서 작업. 이 때 서브 폴더는 대표 클래스 이름과 동일하게 작성한다.
- data: 변경이 자주 일어나지 않는 데이터를 로컬로 저장해서 처리하고 싶을 때
- routes: 화면 네비게이션이 일어나는 경로 설정
- utils: 라이브러리 모음 (중복 코드 제거 등)
- views: 라우터에 등록되어 있는 UI 모듈
- config.dart: 서버 주소 등 설정 파일 (개발환경에 따라서 분리된 설정값을 제공하도록 한다)
- globals.dart
- 앱 전체에서 접근이 필요한 데이터를 관리한다.
- 웹(Vue.js)의 globals와 동기화되도록 한다. 앱의 정보를 웹에게 전달하여 동기화하는 형식을 취한다.