이 빠른 시작에서는 작은 샘플 데이터베이스를 만들고 배포한 후 React 프런트엔드에서 액세스합니다.
기본 요건
이 빠른 시작을 완료하려면 다음이 필요합니다.
- NPM이 포함된 Node.js 환경
- Google 계정
튜토리얼
| 튜토리얼 | |
|---|---|
1. 새 Firebase 프로젝트 만들기먼저 Firebase Console에서 새 Firebase 프로젝트를 만듭니다. 그런 다음 프로젝트를 Blaze 요금제로 업그레이드합니다. |
|
2. 프로젝트 초기화새 디렉터리를 만들고 그 안에 Firebase 프로젝트를 초기화합니다. 메시지가 표시되면 다음 옵션을 선택합니다.
|
|
3. GraphQL 정의 예를 검토하세요Data Connect에서는 GraphQL을 사용하여 모든 데이터베이스 스키마와 작업을 정의합니다. 프로젝트를 초기화할 때 Firebase CLI가 시작하는 데 도움이 되는 몇 가지 예시 정의를 만들었습니다. |
dataconnect/schema/schema.gql (발췌)
type Movie @table { title: String! imageUrl: String! genre: String } type MovieMetadata @table { movie: Movie! @unique rating: Float releaseYear: Int description: String } query ListMovies @auth(level: PUBLIC) { movies { id title imageUrl genre } } |
4. 스키마 및 작업 배포데이터베이스 스키마, 쿼리 또는 변형을 변경할 때마다 변경사항이 데이터베이스에 적용되도록 배포해야 합니다. |
|
5. 샘플 데이터로 데이터베이스 시드이 시드 데이터를 사용하면 샘플 앱을 테스트할 때 확인할 수 있습니다. 이 단계에서는 관리 작업에 허용되는 임의의 GraphQL을 실행합니다. |
|
6. JavaScript 클라이언트 SDK 생성이 명령어는 GraphQL 정의를 사용하여 데이터베이스 전용 JavaScript 라이브러리를 생성합니다. 여기에는 유형 정의가 포함됩니다. 클라이언트 앱에서 이 라이브러리를 사용하여 모든 데이터베이스 작업을 실행합니다.
|
export interface ListMoviesData { movies: ({ id: UUIDString; title: string; imageUrl: string; genre?: string | null; } & Movie_Key)[]; } export function useListMovies( options?: useDataConnectQueryOptions&<ListMoviesData> ): UseDataConnectQueryResult&<ListMoviesData, undefined>; |
7. 웹 앱 설정다음 명령어를 실행하여 Firebase 프로젝트에 새 웹 앱을 추가합니다. |
|
8. 샘플 React 클라이언트 작성
앱은 생성된 SDK의 함수를 사용하여 필요한 데이터베이스 액세스를 완료합니다. 생성된 React용 SDK는 TanStack Query를 사용하여 상태 관리를 처리합니다. |
import { initializeApp } from 'firebase/app'; import firebaseConfig from './firebase-config.json'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import { useListMovies } from '@dataconnect/generated/react'; import './App.css'; const app = initializeApp(firebaseConfig); const queryClient = new QueryClient(); function App() { return ( <QueryClientProvider client={queryClient}> <Movies /> </QueryClientProvider> ); } function Movies() { const { isLoading, data } = useListMovies(); if (isLoading) { return <h1>...</h1> } return ( <> {data?.movies.map( movie => <h1 key={movie.id}>{movie.title}</h1> )} </> ); } export default App; |
9. 웹 앱을 사용해 보세요개발 서버를 시작하여 예시 앱이 작동하는지 확인합니다. |
|
다음 단계
Visual Studio Code 확장 프로그램을 사용해 보세요
Data Connect로 개발할 때는 Visual Studio Code 확장 프로그램을 사용하는 것이 좋습니다. Visual Studio Code를 기본 개발 환경으로 사용하지 않더라도 확장 프로그램은 스키마 및 작업 개발을 더 편리하게 만들어 주는 여러 기능을 제공합니다.
- GraphQL 언어 서버로, Data Connect에 특화된 구문 검사 및 자동 완성 추천을 제공합니다.
- 스키마 정의 파일에서 데이터를 읽고 쓰고 작업 정의에서 쿼리와 변형을 실행할 수 있는 코드와 일치하는 CodeLens 버튼
- 생성된 SDK를 GraphQL 정의와 자동으로 동기화합니다.
- 간소화된 로컬 에뮬레이터 설정
- 프로덕션에 간편하게 배포
로컬 개발을 위해 Data Connect 에뮬레이터 사용
이 튜토리얼에서는 Data Connect 스키마와 작업을 프로덕션 환경에 직접 배포하는 방법을 설명했지만, 앱을 개발하는 동안에는 프로덕션 환경의 데이터베이스를 변경하고 싶지 않을 수 있습니다. 대신 Data Connect 에뮬레이터를 설정하고 프로덕션 환경 대신 에뮬레이터를 기반으로 개발 작업을 진행하세요. 에뮬레이터는 CloudSQL의 라이브 Postgres 인스턴스와 유사하게 작동하는 로컬 PGlite 인스턴스를 설정합니다.
앱의 스키마와 작업을 작성하는 방법 알아보기
Data Connect를 사용하여 앱을 개발할 때 스키마와 작업의 설계는 완료해야 할 첫 번째이자 가장 중요한 개발 작업 중 하나입니다.
- Firebase 콘솔의 Gemini는 앱의 자연어 설명에서 Data Connect 스키마를 생성할 수 있는 AI 도구입니다. 이 도구를 사용하면 특히 관계형 데이터베이스를 사용해 본 적이 없는 경우 매우 빠르게 시작할 수 있습니다.
- 또는 GraphQL을 사용하여 데이터베이스 스키마, 쿼리, 변형을 직접 작성할 수 있습니다. Data Connect 스키마 설계 페이지에서 시작하여 후속 페이지로 계속 진행하여 작업을 작성하는 방법을 알아보세요.