[flutter] Firebase Database와 플러터를 이용한 공동 구매 애플리케이션 만들기
이번 포스팅에서는 Firebase Database와 Flutter를 이용하여 공동 구매 애플리케이션을 만드는 방법에 대해 알아보겠습니다.
목차
- Firebase Project 생성
- Firebase Database 설정
- Flutter 프로젝트 생성
- Firebase와 Flutter 연동
- 데이터 저장 및 조회
- 애플리케이션 구현
1. Firebase Project 생성
- Firebase 콘솔 (https://console.firebase.google.com/)에 접속합니다.
- 프로젝트 생성을 클릭하고 애플리케이션 이름을 입력합니다.
2. Firebase Database 설정
- Firebase 콘솔에서 “Database”를 선택합니다.
- “Create Database”를 클릭합니다.
- “Start in test mode”를 선택하고 “Next”를 클릭합니다.
- 데이터베이스 위치를 선택하고 “Enable”을 클릭합니다.
3. Flutter 프로젝트 생성
- Flutter 개발 환경을 설치하고 프로젝트를 생성합니다.
flutter create shared_purchase_app
cd shared_purchase_app
4. Firebase와 Flutter 연동
pubspec.yaml
파일에 Firebase와 Firestore 관련 의존성을 추가합니다.
dependencies:
flutter:
sdk: flutter
firebase_core: ^0.8.0
cloud_firestore: ^2.0.0
- Firebase 프로젝트에서 생성한
google-services.json
파일을 프로젝트의android/app
폴더에 추가합니다. android/build.gradle
파일에 Google Services 플러그인을 추가합니다.
dependencies {
// ...
classpath 'com.google.gms:google-services:4.3.8'
}
android/app/build.gradle
파일의 맨 아래에 플러그인을 적용합니다.
apply plugin: 'com.google.gms.google-services'
5. 데이터 저장 및 조회
- Firebase Firestore에 데이터를 저장하기 위한 모델 클래스를 생성합니다.
class Product {
final String name;
final int price;
Product({required this.name, required this.price});
}
- Firestore에 데이터를 저장하는 코드를 작성합니다.
import 'package:cloud_firestore/cloud_firestore.dart';
class ProductService {
final FirebaseFirestore _firestore = FirebaseFirestore.instance;
Future<bool> saveProduct(Product product) async {
try {
await _firestore.collection('products').add({
'name': product.name,
'price': product.price,
});
return true;
} catch (e) {
print('Failed to save product: $e');
return false;
}
}
}
- Firestore에서 데이터를 조회하는 코드를 작성합니다.
import 'package:cloud_firestore/cloud_firestore.dart';
class ProductService {
final FirebaseFirestore _firestore = FirebaseFirestore.instance;
Stream<List<Product>> getProducts() {
return _firestore.collection('products').snapshots().map((snapshot) {
return snapshot.docs.map((doc) {
return Product(
name: doc['name'],
price: doc['price'],
);
}).toList();
});
}
}
6. 애플리케이션 구현
- 필요한 위젯을 구현하고 Firestore에서 데이터를 조회하여 화면에 표시합니다.
- 사용자가 데이터를 입력하고 Firestore에 저장할 수 있는 기능을 추가합니다.
- 필요한 기능을 추가하고 UI를 개선하여 사용자가 편리하게 애플리케이션을 사용할 수 있도록 개발합니다.
이제 Firebase Database와 Flutter를 이용하여 공동 구매 애플리케이션을 만드는 방법을 알아보았습니다. Firebase의 다양한 기능을 활용하여 실제 사용자에게 유용한 기능을 추가해보세요.
참고 자료
- Firebase 문서: https://firebase.google.com/docs
- Flutter 문서: https://flutter.dev/docs