# 폴더 및 파일 작성 규칙

  • 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와 동기화되도록 한다. 앱의 정보를 웹에게 전달하여 동기화하는 형식을 취한다.