Skip to content

Commit

Permalink
Merge pull request #13 from doch2/develop
Browse files Browse the repository at this point in the history
v2.0.2 프로덕션 버전 릴리즈
  • Loading branch information
doch2 authored Oct 28, 2022
2 parents bf16781 + 728ef9b commit 38d3e25
Show file tree
Hide file tree
Showing 8 changed files with 110 additions and 51 deletions.
14 changes: 8 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,19 +4,21 @@

디미고 학생들을 위하여 만들어진 학교 급식 어플리케이션, 달그락입니다.

각 반의 급식 시간과 식단을 알려주어 학생들이 편하게 급식을 먹을 수 있게 해줍니다.
또한, QR코드 체크인을 진행하여 디넌과 급식실의 급식 지도를 편리하게 만들어줍니다.
각 반의 급식 시간과 식단을 알려주어 학생들이 편하게 급식을 먹을 수 있게 해줍니다.
다양한 부가기능을 통해 디넌과 급식실의 급식 지도를 편리하게 만들어줍니다.

현재 앱에서 지원하는 기능입니다.
* 급식실 입장시 QR코드 인증 기능 (실제 적용은 학교와의 협의필요)
* 이번주의 급식 정보 제공
* 급식 시간 제공
* 개개인 지각횟수, 인증 로그 확인 기능
* 급식 줄 원활 혼잡 밀림 알람 기능<br>
* 간편식 신청 & 체크인 기능
* 선/후밥 신청 및 컨펌 기능
* 급식 취소 기능
* 디넌과 선생님을 위한 급식 관련 관리 기능 등<br>

2021 교내IT공모전 공모작이며, 20기 웹프로그래밍과 유도희와 이비즈니스과 라윤지가 제작하였습니다.<br>
디미고 인트라넷 개발팀, DIN에서 진행하는 프로젝트입니다.<br>

<div align="center"><img width="640" alt="ScreenShot" src="https://user-images.githubusercontent.com/30923566/150146120-fe6e52eb-ca62-4a98-b11e-534f8c9b385c.png"></div><br>
<div align="center"><img width="640" alt="ScreenShot" src="https://user-images.githubusercontent.com/30923566/198499529-2bfa083a-6279-43ff-8e93-da772b0edbe7.png"></div><br>


## 어플리케이션 이용
Expand Down
12 changes: 6 additions & 6 deletions ios/Runner.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -361,7 +361,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 18;
CURRENT_PROJECT_VERSION = 19;
DEVELOPMENT_TEAM = PJPNY5NKWA;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
Expand All @@ -370,7 +370,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 2.0.1;
MARKETING_VERSION = 2.0.2;
PRODUCT_BUNDLE_IDENTIFIER = com.iceluna.dalgeurak;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
Expand Down Expand Up @@ -494,7 +494,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 18;
CURRENT_PROJECT_VERSION = 19;
DEVELOPMENT_TEAM = PJPNY5NKWA;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
Expand All @@ -503,7 +503,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 2.0.1;
MARKETING_VERSION = 2.0.2;
PRODUCT_BUNDLE_IDENTIFIER = com.iceluna.dalgeurak;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
Expand All @@ -521,7 +521,7 @@
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_ENTITLEMENTS = Runner/Runner.entitlements;
CURRENT_PROJECT_VERSION = 18;
CURRENT_PROJECT_VERSION = 19;
DEVELOPMENT_TEAM = PJPNY5NKWA;
ENABLE_BITCODE = NO;
INFOPLIST_FILE = Runner/Info.plist;
Expand All @@ -530,7 +530,7 @@
"$(inherited)",
"@executable_path/Frameworks",
);
MARKETING_VERSION = 2.0.1;
MARKETING_VERSION = 2.0.2;
PRODUCT_BUNDLE_IDENTIFIER = com.iceluna.dalgeurak;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_OBJC_BRIDGING_HEADER = "Runner/Runner-Bridging-Header.h";
Expand Down
10 changes: 10 additions & 0 deletions lib/controllers/meal_controller.dart
Original file line number Diff line number Diff line change
Expand Up @@ -283,6 +283,16 @@ class MealController extends GetxController {
}
}

getStudentWarningList(int studentUid) async {
Map result = await dalgeurakService.getStudentWarningList(studentUid);

if (result['success']) {
return (result['content'] as List).cast<DalgeurakWarning>();
} else {
_dalgeurakToast.show("경고 목록을 불러오는데 실패하였습니다."); return;
}
}

giveStudentWarning(int studentUid, List warningType, String reason) async {
Map result = await dalgeurakService.giveWarningToStudent(studentUid, warningType, reason);

Expand Down
35 changes: 4 additions & 31 deletions lib/screens/profile/my_profile.dart
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import 'package:dalgeurak/controllers/auth_controller.dart';
import 'package:dalgeurak/controllers/user_controller.dart';
import 'package:dalgeurak/screens/profile/myprofile_bottomsheet.dart';
import 'package:dalgeurak/screens/studentManage/student_manage_dialog.dart';
import 'package:dalgeurak_meal_application/pages/meal_cancel/page.dart';
import 'package:dalgeurak_meal_application/routes/routes.dart';
import 'package:dalgeurak_widget_package/widgets/dialog.dart';
Expand Down Expand Up @@ -32,6 +33,7 @@ class MyProfile extends GetWidget<UserController> {

MyProfileBottomSheet myProfileBottomSheet = MyProfileBottomSheet();
DalgeurakDialog dalgeurakDialog = DalgeurakDialog();
StudentManageDialog studentManageDialog = StudentManageDialog();

controller.getUserWarningList();

Expand Down Expand Up @@ -156,31 +158,7 @@ class MyProfile extends GetWidget<UserController> {

return MediumMenuButton(
iconName: "noticeCircle", title: "경고 횟수", subTitle: "$warningAmount회",
clickAction: () => dalgeurakDialog.showList(
"경고",
"누적 $warningAmount회",
"경고 기록",
ListView.builder(
itemCount: warningAmount,
itemBuilder: (context, index) {
DalgeurakWarning warning = controller.warningList[index];

String warningTypeStr = "";
warning.warningTypeList?.forEach((element) => warningTypeStr = warningTypeStr + element.convertKorStr + ", ");
warningTypeStr = warningTypeStr.substring(0, warningTypeStr.length-2);

return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("${Jiffy(warning.date).format("MM.dd (E) a hh:mm")}", style: myProfile_warning_date),
SizedBox(height: 2),
Text("$warningTypeStr(${warning.reason})", style: myProfile_warning_reason),
SizedBox(height: 20),
],
);
}
)
),
clickAction: () => studentManageDialog.showWarningDialog(controller.warningList)
);
}),
MediumMenuButton(
Expand All @@ -197,12 +175,7 @@ class MyProfile extends GetWidget<UserController> {
children: [
MediumMenuButton(
iconName: "checkCircle_round", title: "입장 기록", subTitle: "체크",
clickAction: () => dalgeurakDialog.showList(
"${controller.user?.name}",
"입장 기록",
"입장 기록",
null
),
clickAction: () => studentManageDialog.showCheckInRecordDialog(controller.user!.name!),
),
MediumMenuButton(
iconName: "signDocu", title: "선/후밥", subTitle: "신청",
Expand Down
4 changes: 4 additions & 0 deletions lib/screens/studentManage/student_manage_bottomsheet.dart
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
import 'package:dalgeurak/screens/studentManage/student_manage_dialog.dart';
import 'package:dalgeurak_widget_package/services/dalgeurak_api.dart';
import 'package:dalgeurak_widget_package/widgets/blue_button.dart';
import 'package:dalgeurak_widget_package/widgets/checkbox.dart';
Expand Down Expand Up @@ -29,6 +30,7 @@ class StudentManageBottomSheet {
DalgeurakBottomSheet _dalgeurakBottomSheet = DalgeurakBottomSheet();
DalgeurakDialog _dalgeurakDialog = DalgeurakDialog();
DalgeurakOverlayAlert _dalgeurakOverlayAlert = DalgeurakOverlayAlert(context: Get.context!);
StudentManageDialog _studentManageDialog = StudentManageDialog();

RxMap warningList = {
"지각": false,
Expand Down Expand Up @@ -108,13 +110,15 @@ class StudentManageBottomSheet {
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
GestureDetector(
onTap: () async => _studentManageDialog.showWarningDialog(await mealController.getStudentWarningList(student.id!)),
child: SmallMenuButton(
title: "경고 횟수",
iconName: "onePage",
isBig: false,
),
),
GestureDetector(
onTap: () => _studentManageDialog.showCheckInRecordDialog(student.name!),
child: SmallMenuButton(
title: "입장 기록",
iconName: "logPage",
Expand Down
69 changes: 69 additions & 0 deletions lib/screens/studentManage/student_manage_dialog.dart
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
import 'package:dalgeurak_widget_package/services/dalgeurak_api.dart';
import 'package:dalgeurak_widget_package/widgets/blue_button.dart';
import 'package:dalgeurak_widget_package/widgets/checkbox.dart';
import 'package:dalgeurak_widget_package/widgets/dialog.dart';
import 'package:dalgeurak_widget_package/widgets/overlay_alert.dart';
import 'package:dalgeurak_widget_package/widgets/bottom_sheet.dart';
import 'package:dalgeurak_widget_package/widgets/reason_textfield.dart';
import 'package:dalgeurak/screens/widgets/small_menu_button.dart';
import 'package:dalgeurak_widget_package/widgets/toast.dart';
import 'package:dimigoin_flutter_plugin/dimigoin_flutter_plugin.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:jiffy/jiffy.dart';

import '../../controllers/meal_controller.dart';
import '../../controllers/user_controller.dart';
import '../../themes/color_theme.dart';
import '../../themes/text_theme.dart';
import 'student_search.dart';
import '../widgets/big_menu_button.dart';

class StudentManageDialog {
StudentManageDialog();

DalgeurakDialog _dalgeurakDialog = DalgeurakDialog();

RxMap warningList = {
"지각": false,
"욕설": false,
"통로 사용": false,
"순서 무시": false,
"기타": false,
}.obs;
TextEditingController warningReasonTextController = TextEditingController();
MealController mealController = Get.find<MealController>();

showWarningDialog(List<DalgeurakWarning> warningList) => _dalgeurakDialog.showList(
"경고",
"누적 ${warningList.length}회",
"경고 기록",
ListView.builder(
itemCount: warningList.length,
itemBuilder: (context, index) {
DalgeurakWarning warning = warningList[index];

String warningTypeStr = "";
warning.warningTypeList?.forEach((element) => warningTypeStr = warningTypeStr + element.convertKorStr + ", ");
warningTypeStr = warningTypeStr.substring(0, warningTypeStr.length-2);

return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text("${Jiffy(warning.date).format("MM.dd (E) a hh:mm")}", style: myProfile_warning_date),
SizedBox(height: 2),
Text("$warningTypeStr(${warning.reason})", style: myProfile_warning_reason),
SizedBox(height: 20),
],
);
}
)
);

showCheckInRecordDialog(String studentName) => _dalgeurakDialog.showList(
studentName,
"입장 기록",
"입장 기록",
null
);
}
12 changes: 6 additions & 6 deletions pubspec.lock
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ packages:
description:
path: "."
ref: main
resolved-ref: "7f9db1bdd5267fba61d08af85d4669de669a9da5"
resolved-ref: "9fcda90d9ab950ce37a5b959bb204a40b2595b76"
url: "https://github.com/dimigoin/dalgeurak-meal-application.git"
source: git
version: "1.0.0+1"
Expand All @@ -141,7 +141,7 @@ packages:
description:
path: "."
ref: main
resolved-ref: "012980861119b76501b209fcae833a8cdabf926a"
resolved-ref: fbc68a5d2a02ba23ba37f942853139c7f6527693
url: "https://github.com/dimigoin/dalgeurak-widget-package.git"
source: git
version: "0.0.2"
Expand All @@ -158,7 +158,7 @@ packages:
name: dimigoin_flutter_plugin
url: "https://pub.dartlang.org"
source: hosted
version: "0.5.8"
version: "0.5.9"
dio:
dependency: "direct main"
description:
Expand Down Expand Up @@ -258,7 +258,7 @@ packages:
source: hosted
version: "1.24.0"
firebase_core_platform_interface:
dependency: transitive
dependency: "direct main"
description:
name: firebase_core_platform_interface
url: "https://pub.dartlang.org"
Expand Down Expand Up @@ -894,14 +894,14 @@ packages:
name: syncfusion_flutter_core
url: "https://pub.dartlang.org"
source: hosted
version: "20.3.50"
version: "20.3.52"
syncfusion_flutter_datepicker:
dependency: transitive
description:
name: syncfusion_flutter_datepicker
url: "https://pub.dartlang.org"
source: hosted
version: "20.3.50"
version: "20.3.52"
table_calendar:
dependency: "direct main"
description:
Expand Down
5 changes: 3 additions & 2 deletions pubspec.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ publish_to: 'none' # Remove this line if you wish to publish to pub.dev
# In iOS, build-name is used as CFBundleShortVersionString while build-number used as CFBundleVersion.
# Read more about iOS versioning at
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
version: 2.0.1+18
version: 2.0.2+19

environment:
sdk: ">=2.12.0 <3.0.0"
Expand All @@ -33,7 +33,7 @@ dependencies:
get: ^4.6.5
dio: ^4.0.1

dimigoin_flutter_plugin: ^0.5.7
dimigoin_flutter_plugin: ^0.5.9
dalgeurak_meal_application:
git:
url: https://github.com/dimigoin/dalgeurak-meal-application.git
Expand All @@ -44,6 +44,7 @@ dependencies:
ref: main

firebase_core: ^1.24.0
firebase_core_platform_interface: 4.5.1
firebase_auth: ^3.1.4
firebase_analytics: ^8.3.4
firebase_performance: ^0.8.0+4
Expand Down

0 comments on commit 38d3e25

Please sign in to comment.