Skip to content

Commit 670b11b

Browse files
authored
Merge pull request #54 from CODE-LG/feat/profile_api
[FEAT] 프로필 정보 보내기 api 구현
2 parents 96eaa3f + 8fa3ef9 commit 670b11b

34 files changed

Lines changed: 1020 additions & 651 deletions

ios/Podfile.lock

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1462,10 +1462,10 @@ EXTERNAL SOURCES:
14621462
SPEC CHECKSUMS:
14631463
abseil: a05cc83bf02079535e17169a73c5be5ba47f714b
14641464
BoringSSL-GRPC: dded2a44897e45f28f08ae87a55ee4bcd19bc508
1465-
cloud_firestore: aef3217af294cd35afda47e63112d306f4c9a2e2
1465+
cloud_firestore: 07742f115155e19201e77b4cafb155011892d7b7
14661466
Firebase: 1fe1c0a7d9aaea32efe01fbea5f0ebd8d70e53a2
1467-
firebase_auth: e37065f3f80ff90580c13ad0e5a48e3bb8d2ad77
1468-
firebase_core: 432718558359a8c08762151b5f49bb0f093eb6e0
1467+
firebase_auth: ad485af7f854ba5f86634f81725b22b37f317883
1468+
firebase_core: 2d4534e7b489907dcede540c835b48981d890943
14691469
FirebaseAppCheckInterop: f23709c9ce92d810aa53ff4ce12ad3e666a3c7be
14701470
FirebaseAuth: c4146bdfdc87329f9962babd24dae89373f49a32
14711471
FirebaseAuthInterop: ac22ed402c2f4e3a8c63ebd3278af9a06073c1be
@@ -1476,22 +1476,22 @@ SPEC CHECKSUMS:
14761476
FirebaseFirestoreInternal: 97a2bb5f16951c77753c860d3519379702ab6f8a
14771477
FirebaseSharedSwift: d2475748a2d2a36242ed13baa34b2acda846c925
14781478
Flutter: e0871f40cf51350855a761d2e70bf5af5b9b5de7
1479-
flutter_secure_storage: d33dac7ae2ea08509be337e775f6b59f1ff45f12
1480-
fluttertoast: 21eecd6935e7064cc1fcb733a4c5a428f3f24f0f
1479+
flutter_secure_storage: 1ed9476fba7e7a782b22888f956cce43e2c62f13
1480+
fluttertoast: 2c67e14dce98bbdb200df9e1acf610d7a6264ea1
14811481
GoogleUtilities: 26a3abef001b6533cf678d3eb38fd3f614b7872d
14821482
"gRPC-C++": cc207623316fb041a7a3e774c252cf68a058b9e8
14831483
gRPC-Core: 860978b7db482de8b4f5e10677216309b5ff6330
14841484
GTMSessionFetcher: 75b671f9e551e4c49153d4c4f8659ef4f559b970
1485-
image_picker_ios: c560581cceedb403a6ff17f2f816d7fea1421fc1
1486-
kakao_flutter_sdk_common: 3dc8492c202af7853585d151490b1c5c6b7576cb
1485+
image_picker_ios: 7fe1ff8e34c1790d6fff70a32484959f563a928a
1486+
kakao_flutter_sdk_common: 600d55b532da0bd37268a529e1add49302477710
14871487
leveldb-library: cc8b8f8e013647a295ad3f8cd2ddf49a6f19be19
14881488
nanopb: fad817b59e0457d11a5dfbde799381cd727c1275
1489-
path_provider_foundation: 2b6b4c569c0fb62ec74538f866245ac84301af46
1489+
path_provider_foundation: 080d55be775b7414fd5a5ef3ac137b97b097e564
14901490
RecaptchaInterop: 11e0b637842dfb48308d242afc3f448062325aba
1491-
screen_protector: 6f92086bd2f2f4b54f54913289b9d1310610140b
1491+
screen_protector: 3d90d44ac886b25335aebd93230b454aef45794a
14921492
ScreenProtectorKit: 83a6281b02c7a5902ee6eac4f5045f674e902ae4
1493-
shared_preferences_foundation: fcdcbc04712aee1108ac7fda236f363274528f78
1494-
sign_in_with_apple: f3bf75217ea4c2c8b91823f225d70230119b8440
1493+
shared_preferences_foundation: 9e1978ff2562383bd5676f64ec4e9aa8fa06a6f7
1494+
sign_in_with_apple: c5dcc141574c8c54d5ac99dd2163c0c72ad22418
14951495

14961496
PODFILE CHECKSUM: f8c2dcdfb50bb67645580d28a6bf814fca30bdec
14971497

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
import 'dart:developer';
2+
3+
import 'package:code_l/auth/data/datasources/local/login_local_datasource.dart';
4+
import 'package:dio/dio.dart';
5+
6+
import '../../../sign_up/data/models/request/profile_request.dart';
7+
8+
class ProfileApiService {
9+
final Dio _dio;
10+
11+
ProfileApiService(this._dio);
12+
13+
Future<Response> profile(ProfileRequest request) async {
14+
final token = await LoginLocalDataSource.loadToken();
15+
log(request.toJson().toString());
16+
final response = await _dio.post(
17+
'/v1/member/profile',
18+
data: request.toJson(),
19+
options: Options(
20+
headers: {
21+
'Authorization': '$token',
22+
},
23+
),
24+
);
25+
log(response.statusCode.toString());
26+
return response;
27+
}
28+
}

lib/main.dart

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,10 @@ import 'package:code_l/auth/presentation/pages/identity/identity_verification_pa
22
import 'package:code_l/auth/presentation/pages/login/login_page.dart';
33
import 'package:code_l/auth/presentation/pages/terms_and_conditions/terms_and_condition_page.dart';
44
import 'package:code_l/sign_up/presentation/pages/pending_approval/pending_approval_page.dart';
5+
import 'package:code_l/sign_up/presentation/pages/profile_image/profile_face_image_page.dart';
56
import 'package:code_l/sign_up/presentation/pages/profile_image/profile_image_page.dart';
67
import 'package:code_l/sign_up/presentation/pages/profile_interest/profile_intereset_page.dart';
8+
import 'package:code_l/sign_up/presentation/pages/profile_name/profile_name_page.dart';
79
import 'package:firebase_core/firebase_core.dart';
810
import 'package:flutter/material.dart';
911
import 'package:flutter_dotenv/flutter_dotenv.dart';
@@ -71,8 +73,8 @@ class InitialRouteLoader extends StatelessWidget {
7173
return switch (snapshot.data!) {
7274
SignUpState.SIGNUP => const PhoneVerificationPage(),
7375
SignUpState.IDENTIFY => const TermsAndConditionPage(),
74-
SignUpState.CODE_SURVEY => const ProfileInterestPage(),
75-
SignUpState.CODE_PROFILE_IMAGE => const ProfileImagePage(),
76+
SignUpState.CODE_SURVEY => const ProfileImagePage(),
77+
SignUpState.CODE_PROFILE_IMAGE => const ProfileFaceImagePage(),
7678
SignUpState.PENDING => const PendingApprovalPage(),
7779
SignUpState.DONE => const LoginPage(), // todo home
7880
SignUpState.NONE => const LoginPage(),
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
final drinkOptions = ['음주는 안해요', '약속 있을 때만 먹어요', '음주를 즐기는 매니아', '금주중'];
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
final List<String> interestOptions = [
2+
'게임 🎮',
3+
'방탈출/보드게임 🎲',
4+
'야외활동 🚴',
5+
'운동 🏋️',
6+
'독서 & 글쓰기 📚✍️',
7+
'음악 & 악기 🎵🎸',
8+
'영화 🎬',
9+
'캠핑 🏕️',
10+
'OTT/드라마 📺',
11+
'여행 ✈',
12+
'요리 🍳',
13+
'맛집 탐방 🍽',
14+
'패션 & 뷰티 👗💄',
15+
'쇼핑 🛍',
16+
'동물 🐶🐱',
17+
'IT기술 💻',
18+
'댄스 & 퍼포먼스 💃🕺',
19+
'인테리어 & DIY 🏠🔨',
20+
'사지 & 영상 제작 🎥',
21+
'전시관람 🖼',
22+
];
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
final List<Map<String, String>> jobList = [
2+
{'label': '직장인', 'image': 'assets/icons/ic_job_office_worker.png'},
3+
{'label': '학생', 'image': 'assets/icons/ic_job_student.png'},
4+
{'label': '취준생', 'image': 'assets/icons/ic_job_seeker.png'},
5+
{'label': '프리랜서', 'image': 'assets/icons/ic_job_freelancer.png'},
6+
{'label': '자영업자', 'image': 'assets/icons/ic_job_self_employed.png'},
7+
{'label': '공무원', 'image': 'assets/icons/ic_job_government_employee.png'},
8+
{'label': '서비스직', 'image': 'assets/icons/ic_job_servicer.png'},
9+
{'label': '의료인', 'image': 'assets/icons/ic_job_healthcare.png'},
10+
{'label': '교육자', 'image': 'assets/icons/ic_job_educator.png'},
11+
{'label': '엔터테이너', 'image': 'assets/icons/ic_job_entertainer.png'},
12+
{'label': '크리에이터', 'image': 'assets/icons/ic_job_creator.png'},
13+
{'label': '기타', 'image': 'assets/icons/ic_job_etc.png'},
14+
];
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
final List<String> relationshipStyles = [
2+
'천천히 알아가는 스타일 ⏳',
3+
'만나면 운명이라고 믿는 직진형 💫',
4+
'안정적이고 신뢰감 있는 연애 선호 🏡',
5+
'서로의 성장과 자립을 중요시하는 스타일 🌱',
6+
'항상 새롭고 설레는 연애를 추구하는 스타일 💃',
7+
];
8+
9+
final List<String> communicationStyles = [
10+
'하루 종일 연락하는 스타일 📲',
11+
'중요한 순간에만 연락하는 스타일 🕰',
12+
'전화보다 톡을 선호하는 스타일 💬',
13+
'하루 한 통이라도 진심을 담는 스타일 💌',
14+
'상대가 필요할 때 항상 먼저 연락하는 스타일 🙋‍♂️',
15+
];
16+
17+
final List<String> dateStyles = [
18+
'집에서 함께 영화 보는 홈 데이트 🏠',
19+
'맛집 탐방하고 새로운 곳 찾기 🍔',
20+
'야외활동이나 스포츠 즐기기 🚴‍♂️',
21+
'문화생활 (전시회, 공연 등) 즐기기 🎭',
22+
'계획적이고 철저한 데이트 스케줄러 📅',
23+
'즉흥적으로 놀러 가는 스타일 🌍',
24+
];
25+
26+
final List<String> conflictResolutionStyles = [
27+
'바로 대화해서 푸는 직설형💬',
28+
'시간이 지난 후 차분하게 이야기하는 스타일🤫',
29+
'상대방의 입장을 먼저 이해하는 배려형🤝',
30+
'잘못을 빠르게 인정하고 사과하는 솔직형🙇‍♂️',
31+
'화가 나도 조용히 마음을 가라앉히는 침착형🧘‍♀️',
32+
];
33+
34+
final List<String> affectionExpressions = [
35+
'표현을 잘하는 직진형 💬',
36+
'은근하게 마음을 전하는 무뚝뚝형 😎',
37+
'말보다는 행동으로 표현하는 실천파 🚶‍♂',
38+
'애교 많고 귀여운 스타일 🥰',
39+
'진지하고 깊이 있는 스타일 🤔',
40+
'다정다감한 배려형 💕',
41+
];
Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,6 @@
1+
final mbtiOptions = const [
2+
['E', 'I'],
3+
['N', 'S'],
4+
['T', 'F'],
5+
['P', 'J'],
6+
];

0 commit comments

Comments
 (0)