본문 바로가기

Figma → Flutter → Firebase 제작 구성예시

강빵e 2025. 5. 12.
반응형

Figma → Flutter → Firebase를 순서대로 따라 하시면 실제 어플 개발이 가능합니다.


✅ 1. Figma 템플릿 구성 예시

아래는 병원 예약 앱을 위한 Figma 설계 기본 구조입니다.

📱 앱 구조 예시 (Figma에서 그릴 화면 순서)

1. 시작 화면 (Splash)
2. 로그인 / 회원가입 화면
3. 메인 홈화면 (검색창, 필터 버튼, 병원 목록)
4. 병원 상세 페이지
   - 병원 이름, 설명, 장단점, 지도, 후기
   - [예약하기] 버튼
5. 예약 화면 (날짜 선택, 시간 선택)
6. 마이페이지 (내 예약 내역, 즐겨찾기 병원)

💡 Figma 사용 팁:

  • 텍스트 스타일: Pretendard, 14~18pt
  • 컴포넌트화: 버튼, 카드 등은 재사용 가능하게 설정
  • Auto Layout을 활용해 반응형 UI 설계

✅ 2. Flutter 기본 구조 예시 (main.dart)

import 'package:flutter/material.dart';
import 'screens/home_screen.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      title: '도수치료 병원 예약앱',
      theme: ThemeData(primarySwatch: Colors.blue),
      home: HomeScreen(), // 홈화면으로 이동
    );
  }
}

📁 폴더 구조 예시:

lib/
├── main.dart
├── screens/
│   ├── home_screen.dart
│   ├── detail_screen.dart
│   └── reservation_screen.dart
├── models/
│   └── hospital_model.dart
├── services/
│   └── firebase_service.dart

✅ 3. Firebase 연동 샘플 코드

① Firebase 설치 & 초기화

# pubspec.yaml에 추가
dependencies:
  firebase_core: ^2.0.0
  cloud_firestore: ^4.0.0
// main.dart 상단
import 'package:firebase_core/firebase_core.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized();
  await Firebase.initializeApp();
  runApp(MyApp());
}

② 병원 리스트 불러오기 (Firestore)

import 'package:cloud_firestore/cloud_firestore.dart';

class FirebaseService {
  final FirebaseFirestore _firestore = FirebaseFirestore.instance;

  Future<List<Map<String, dynamic>>> getHospitals() async {
    final snapshot = await _firestore.collection('hospitals').get();
    return snapshot.docs.map((doc) => doc.data()).toList();
  }
}

③ 예약 데이터 저장하기

Future<void> makeReservation(String userId, String hospitalId, DateTime date) async {
  await FirebaseFirestore.instance.collection('reservations').add({
    'userId': userId,
    'hospitalId': hospitalId,
    'date': date.toIso8601String(),
    'createdAt': FieldValue.serverTimestamp(),
  });
}

✅ Firebase Firestore 데이터 구조 예시

Collection: hospitals

{
  "name": "서울정형외과",
  "location": "강남역 5번 출구",
  "specialty": "도수치료",
  "advantages": ["전문 치료사", "야간 진료"],
  "disadvantages": ["주차 협소"],
  "stars": 4.6,
  "hasWomenTherapist": true
}

✅ 추가 팁

  • Firebase Auth → Google 로그인, 이메일 로그인 구현
  • Firebase Hosting → 앱 설명 웹페이지도 만들 수 있음
  • Push 알림 → firebase_messaging 패키지 사용

완성도 높은 어플 만드는 과정 – 비전공자도 가능한 A to Z

 

완성도 높은 어플 만드는 과정 – 비전공자도 가능한 A to Z

이 글은 병원 예약 어플, 특히 도수치료 병원 비교·예약 앱처럼 정보 기반 예약 앱을 직접 기획하고 개발하는 방법을 단계별로 설명합니다. 사용된 툴과 플랫폼도 함께 안내하므로 이 글 하나로

promtp.tistory.com

 

반응형

댓글