Skip to content

pyowonsik/FlutterServerpod

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Serverpod + Flutter 소스코드

이 저장소는 ServerpodFlutter를 사용한 풀스택 모바일 애플리케이션 개발 예제 소스코드입니다.

📋 프로젝트 개요

이 프로젝트는 Serverpod를 백엔드로, Flutter를 프론트엔드로 사용하는 모노레포 구조의 애플리케이션입니다. Clean Architecture 패턴을 적용하여 확장 가능하고 유지보수가 용이한 코드 구조를 제공합니다.

주요 기술 스택

  • Backend: Serverpod 2.9.2 (Dart)
  • Frontend: Flutter 3.24.0+
  • State Management: Riverpod 2.5.1
  • Routing: GoRouter 14.0.0
  • Database: PostgreSQL
  • Cache: Redis

📁 프로젝트 구조

.
├── test_server/          # Serverpod 서버
│   ├── lib/              # 서버 로직
│   ├── bin/              # 서버 진입점
│   ├── config/           # 환경별 설정 파일
│   └── migrations/       # 데이터베이스 마이그레이션
│
├── test_client/          # Serverpod 클라이언트 (자동 생성)
│   └── lib/              # 서버와 통신하기 위한 클라이언트 코드
│
└── test_flutter/         # Flutter 애플리케이션
    ├── lib/
    │   ├── core/         # 핵심 기능 (DI, Domain, Route)
    │   ├── feature/      # 기능별 모듈
    │   │   ├── auth/     # 인증 기능
    │   │   └── ...       # 추가 기능 모듈들
    │   └── screen/       # 화면
    └── ...

아키텍처

Flutter 앱은 Clean Architecture 패턴을 따릅니다:

  • Presentation Layer: UI 및 상태 관리 (Riverpod)
  • Domain Layer: 비즈니스 로직 및 엔티티
  • Data Layer: 데이터 소스 및 리포지토리 구현

🚀 시작하기

사전 요구사항

  • Dart SDK >= 3.5.0
  • Flutter SDK >= 3.24.0
  • Docker & Docker Compose
  • PostgreSQL
  • Redis

설치 및 실행

1. 저장소 클론

git clone https://github.com/pyowonsik/FlutterServerpod.git
cd FlutterServerpod

2. 서버 실행

# PostgreSQL 및 Redis 시작 (Docker 사용)
cd test_server
docker compose up --build --detach

# 서버 실행
dart bin/main.dart

서버는 기본적으로 http://localhost:8080에서 실행됩니다.

3. Flutter 앱 실행

cd test_flutter

# 의존성 설치
flutter pub get

# 앱 실행
flutter run

📚 주요 기능

인증 (Auth)

  • 사용자 로그인
  • 세션 관리

추가 기능들은 지속적으로 개발 중입니다.

🛠️ 개발 가이드

서버 코드 생성

Serverpod는 코드 생성을 통해 클라이언트 코드를 자동으로 생성합니다:

cd test_server
dart run serverpod generate

데이터베이스 마이그레이션

cd test_server
dart run serverpod create-migration
dart run serverpod apply-migrations

환경 설정

Flutter 앱의 환경 변수는 test_flutter/.env 파일에서 관리됩니다.

📖 참고 자료

📝 라이선스

이 프로젝트는 학습 및 참고 목적으로 제공됩니다.

이 소스코드는 블로그 포스팅을 위한 예제 프로젝트입니다. 실제 프로덕션 환경에서 사용하기 전에 보안 및 성능 최적화를 고려해주세요.

About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors