사용자 맞춤 컬러 태그 시스템 구현
·
Flutter/Flutter 캘린더 앱 만들기
캘린더에 일정이 많아질수록, 구분과 시각적 구별이 중요해진다.이럴 때 컬러 태그를 사용하면 일정 유형을 한눈에 파악할 수 있다.이번 글에서는 Flutter에서 사용자 맞춤형 태그 시스템을 설계하고, 각 태그에 컬러를 부여해 시각적으로 구분하는 기능을 구현해본다.🏷️ 태그 데이터 구조 설계이벤트마다 태그와 색상을 함께 저장할 수 있도록 모델을 수정한다.class Event { final String title; final String tag; final Color tagColor; Event({ required this.title, required this.tag, required this.tagColor, });}컬러는 Color 객체로 관리하거나, Hex 코드로 DB에 저장할..
서버와 동기화 — Google Calendar API 연동하기
·
Flutter/Flutter 캘린더 앱 만들기
Flutter로 만든 캘린더 앱이 진짜 ‘앱’이 되기 위해 필요한 건 클라우드와의 동기화다.이번 글에서는 Google Calendar API를 사용해 Flutter 앱과 구글 캘린더 간 일정 동기화를 구현하는 흐름을 소개한다.📌 Google Calendar API란?Google이 제공하는 공식 캘린더 API로,캘린더 조회, 일정 생성/삭제, 알림 설정까지 REST 방식으로 조작할 수 있다.기본 프로토콜: HTTPS REST인증 방식: OAuth 2.0사용 예: Google Calendar 앱과 일정 동기화📦 필요한 패키지dependencies: googleapis: ^13.1.0 googleapis_auth: ^1.4.0 http: ^0.13.5Flutter에서는 직접 API 요청을 보내거나, ..
다크 모드 캘린더 디자인 적용
·
Flutter/Flutter 캘린더 앱 만들기
Flutter 앱에서 다크 모드는 이제 ‘선택’이 아닌 ‘기본’이 되었다.특히 일정을 자주 확인하는 캘린더 앱에서는 어두운 환경에서도 눈이 편안해야 한다.이번 글에서는 Flutter에서 다크 모드를 적용하고, table_calendar 위젯도 어두운 테마에 자연스럽게 녹아들게 만드는 방법을 알아보자.🌙 테마 구성 기본MaterialApp에서 라이트/다크 테마를 모두 정의하고, themeMode로 제어한다.MaterialApp( theme: ThemeData( brightness: Brightness.light, scaffoldBackgroundColor: Colors.white, primarySwatch: Colors.indigo, ), darkTheme: ThemeData( ..
이벤트 반복 설정 구현 — 매주, 매달 반복 어떻게 할까?
·
Flutter/Flutter 캘린더 앱 만들기
매주 월요일 회의, 매달 1일 결제일, 매년 생일.캘린더 앱에서 반복되는 일정은 피할 수 없는 기능이다.이번 글에서는 Flutter에서 “매주”, “매달” 반복되는 이벤트를 어떻게 구현할 수 있을지 정리한다.📌 반복 이벤트의 구조 설계이벤트 객체에 반복 유형을 추가한다:enum RepeatType { none, daily, weekly, monthly }class Event { final String title; final DateTime date; final RepeatType repeat; bool isDone; Event({ required this.title, required this.date, this.repeat = RepeatType.none, this.isD..
할 일 완료 체크 및 삭제 기능 추가
·
Flutter/Flutter 캘린더 앱 만들기
이벤트를 등록하는 것만큼 중요한 건 할 일 완료 체크와 삭제 기능이다.이번 글에서는 날짜별 할 일을 체크박스로 완료 처리하고, 필요 시 삭제까지 가능한 캘린더 할 일 관리 UI를 만들어본다.📌 이벤트 모델 구조 확장이제 단순 문자열이 아닌 객체로 이벤트를 관리하자.class Event { final String title; bool isDone; Event({required this.title, this.isDone = false});}이제 이벤트는 제목과 완료 여부를 포함하는 구조가 된다.🗓️ 날짜별 이벤트 리스트 구조Map> _events = { DateTime(2024, 10, 10): [Event(title: '운동하기')], DateTime(2024, 10, 11): [Event(t..
이벤트 알림 기능 — Flutter Local Notification 활용하기
·
Flutter/Flutter 캘린더 앱 만들기
캘린더에 일정을 등록하는 것만으로는 부족하다.알림까지 울려야 진짜 일정 관리가 된다.이번 글에서는 flutter_local_notifications 패키지를 사용해 Flutter 앱에서 이벤트 알림 기능을 구현하는 방법을 살펴본다.🔔 패키지 설치 및 설정// pubspec.yamldependencies: flutter_local_notifications: ^16.2.0Android와 iOS 각각에 대해 설정이 다르기 때문에, 공식 문서를 참고하여 platform-specific 설정도 함께 해줘야 한다.📦 기본 초기화final FlutterLocalNotificationsPlugin flutterLocalNotificationsPlugin = FlutterLocalNotificationsPlu..