package com.unicorn.hgzero.meeting;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.autoconfigure.domain.EntityScan;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.scheduling.annotation.EnableAsync;

/**
 * Meeting Service Application
 * 회의록 작성 및 공유 개선 서비스의 Meeting Service
 * 
 * 주요 기능:
 * - 회의 관리 (예약, 시작, 종료)
 * - 회의록 관리 (생성, 수정, 확정, 조회)
 * - Todo 관리 (할당, 진행, 완료)
 * - 실시간 협업 (동기화, 충돌해결, 검증)
 * - 템플릿 관리
 * - 대시보드
 */
@SpringBootApplication
@ComponentScan(basePackages = {
    "com.unicorn.hgzero.meeting",
    "com.unicorn.hgzero.common"
})
@EnableJpaRepositories(basePackages = {
    "com.unicorn.hgzero.meeting.infra.gateway.repository"
})
@EntityScan(basePackages = {
    "com.unicorn.hgzero.meeting.infra.gateway.entity",
    "com.unicorn.hgzero.common.entity"
})
@EnableAsync
public class MeetingApplication {

    public static void main(String[] args) {
        SpringApplication.run(MeetingApplication.class, args);
    }
}
