├── .gitignore ├── .idea ├── .gitignore ├── LectureNotes.iml ├── codeStyles │ └── codeStyleConfig.xml ├── misc.xml ├── modules.xml ├── vcs.xml └── workspace.xml ├── LICENSE ├── README.md ├── app ├── blog_type_app │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── analysis_options.yaml │ ├── android │ │ ├── .gitignore │ │ ├── app │ │ │ ├── build.gradle │ │ │ └── src │ │ │ │ ├── debug │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── kotlin │ │ │ │ │ └── com │ │ │ │ │ │ └── example │ │ │ │ │ │ └── blog_type_app │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ └── res │ │ │ │ │ ├── drawable-v21 │ │ │ │ │ └── launch_background.xml │ │ │ │ │ ├── drawable │ │ │ │ │ └── launch_background.xml │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── values-night │ │ │ │ │ └── styles.xml │ │ │ │ │ └── values │ │ │ │ │ └── styles.xml │ │ │ │ └── profile │ │ │ │ └── AndroidManifest.xml │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ └── gradle-wrapper.properties │ │ └── settings.gradle │ ├── assets │ │ └── images │ │ │ ├── avionic.jpg │ │ │ ├── avionics2.jpg │ │ │ └── raptor.jpg │ ├── ios │ │ ├── .gitignore │ │ ├── Flutter │ │ │ ├── AppFrameworkInfo.plist │ │ │ ├── Debug.xcconfig │ │ │ └── Release.xcconfig │ │ ├── Runner.xcodeproj │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── xcshareddata │ │ │ │ └── xcschemes │ │ │ │ └── Runner.xcscheme │ │ ├── Runner.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ └── Runner │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ ├── Contents.json │ │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ │ ├── Icon-App-20x20@1x.png │ │ │ │ ├── Icon-App-20x20@2x.png │ │ │ │ ├── Icon-App-20x20@3x.png │ │ │ │ ├── Icon-App-29x29@1x.png │ │ │ │ ├── Icon-App-29x29@2x.png │ │ │ │ ├── Icon-App-29x29@3x.png │ │ │ │ ├── Icon-App-40x40@1x.png │ │ │ │ ├── Icon-App-40x40@2x.png │ │ │ │ ├── Icon-App-40x40@3x.png │ │ │ │ ├── Icon-App-60x60@2x.png │ │ │ │ ├── Icon-App-60x60@3x.png │ │ │ │ ├── Icon-App-76x76@1x.png │ │ │ │ ├── Icon-App-76x76@2x.png │ │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ │ └── LaunchImage.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── LaunchImage.png │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ └── README.md │ │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ │ ├── Info.plist │ │ │ └── Runner-Bridging-Header.h │ ├── lib │ │ ├── components │ │ │ ├── blog_type_list_item.dart │ │ │ ├── blog_type_menu.dart │ │ │ └── blog_type_title.dart │ │ └── main.dart │ ├── pubspec.lock │ ├── pubspec.yaml │ └── test │ │ └── widget_test.dart ├── flutter_login_ui │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── analysis_options.yaml │ ├── android │ │ ├── .gitignore │ │ ├── app │ │ │ ├── build.gradle │ │ │ └── src │ │ │ │ ├── debug │ │ │ │ └── AndroidManifest.xml │ │ │ │ ├── main │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── kotlin │ │ │ │ │ └── com │ │ │ │ │ │ └── example │ │ │ │ │ │ └── flutter_login_ui │ │ │ │ │ │ └── MainActivity.kt │ │ │ │ └── res │ │ │ │ │ ├── drawable-v21 │ │ │ │ │ └── launch_background.xml │ │ │ │ │ ├── drawable │ │ │ │ │ └── launch_background.xml │ │ │ │ │ ├── mipmap-hdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-mdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ │ └── ic_launcher.png │ │ │ │ │ ├── values-night │ │ │ │ │ └── styles.xml │ │ │ │ │ └── values │ │ │ │ │ └── styles.xml │ │ │ │ └── profile │ │ │ │ └── AndroidManifest.xml │ │ ├── build.gradle │ │ ├── gradle.properties │ │ ├── gradle │ │ │ └── wrapper │ │ │ │ └── gradle-wrapper.properties │ │ └── settings.gradle │ ├── ios │ │ ├── .gitignore │ │ ├── Flutter │ │ │ ├── AppFrameworkInfo.plist │ │ │ ├── Debug.xcconfig │ │ │ └── Release.xcconfig │ │ ├── Runner.xcodeproj │ │ │ ├── project.pbxproj │ │ │ ├── project.xcworkspace │ │ │ │ ├── contents.xcworkspacedata │ │ │ │ └── xcshareddata │ │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ │ └── WorkspaceSettings.xcsettings │ │ │ └── xcshareddata │ │ │ │ └── xcschemes │ │ │ │ └── Runner.xcscheme │ │ ├── Runner.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ └── Runner │ │ │ ├── AppDelegate.swift │ │ │ ├── Assets.xcassets │ │ │ ├── AppIcon.appiconset │ │ │ │ ├── Contents.json │ │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ │ ├── Icon-App-20x20@1x.png │ │ │ │ ├── Icon-App-20x20@2x.png │ │ │ │ ├── Icon-App-20x20@3x.png │ │ │ │ ├── Icon-App-29x29@1x.png │ │ │ │ ├── Icon-App-29x29@2x.png │ │ │ │ ├── Icon-App-29x29@3x.png │ │ │ │ ├── Icon-App-40x40@1x.png │ │ │ │ ├── Icon-App-40x40@2x.png │ │ │ │ ├── Icon-App-40x40@3x.png │ │ │ │ ├── Icon-App-60x60@2x.png │ │ │ │ ├── Icon-App-60x60@3x.png │ │ │ │ ├── Icon-App-76x76@1x.png │ │ │ │ ├── Icon-App-76x76@2x.png │ │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ │ └── LaunchImage.imageset │ │ │ │ ├── Contents.json │ │ │ │ ├── LaunchImage.png │ │ │ │ ├── LaunchImage@2x.png │ │ │ │ ├── LaunchImage@3x.png │ │ │ │ └── README.md │ │ │ ├── Base.lproj │ │ │ ├── LaunchScreen.storyboard │ │ │ └── Main.storyboard │ │ │ ├── Info.plist │ │ │ └── Runner-Bridging-Header.h │ ├── lib │ │ ├── api │ │ │ └── spring_api.dart │ │ ├── components │ │ │ ├── custom_form.dart │ │ │ ├── logo.dart │ │ │ └── text_form_field.dart │ │ ├── main.dart │ │ ├── pages │ │ │ ├── home_page.dart │ │ │ └── login_page.dart │ │ └── utility │ │ │ └── size.dart │ ├── pubspec.lock │ ├── pubspec.yaml │ └── test │ │ └── widget_test.dart └── image_send │ ├── .gitignore │ ├── .metadata │ ├── README.md │ ├── analysis_options.yaml │ ├── android │ ├── .gitignore │ ├── app │ │ ├── build.gradle │ │ └── src │ │ │ ├── debug │ │ │ └── AndroidManifest.xml │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── kotlin │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── image_send │ │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ │ ├── drawable-v21 │ │ │ │ └── launch_background.xml │ │ │ │ ├── drawable │ │ │ │ └── launch_background.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-night │ │ │ │ └── styles.xml │ │ │ │ └── values │ │ │ │ └── styles.xml │ │ │ └── profile │ │ │ └── AndroidManifest.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ └── gradle-wrapper.properties │ └── settings.gradle │ ├── assets │ └── images │ │ ├── mario1.jpg │ │ └── mario2.jpg │ ├── ios │ ├── .gitignore │ ├── Flutter │ │ ├── AppFrameworkInfo.plist │ │ ├── Debug.xcconfig │ │ └── Release.xcconfig │ ├── Runner.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── Runner.xcscheme │ ├── Runner.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ └── Runner │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ ├── Icon-App-20x20@1x.png │ │ │ ├── Icon-App-20x20@2x.png │ │ │ ├── Icon-App-20x20@3x.png │ │ │ ├── Icon-App-29x29@1x.png │ │ │ ├── Icon-App-29x29@2x.png │ │ │ ├── Icon-App-29x29@3x.png │ │ │ ├── Icon-App-40x40@1x.png │ │ │ ├── Icon-App-40x40@2x.png │ │ │ ├── Icon-App-40x40@3x.png │ │ │ ├── Icon-App-60x60@2x.png │ │ │ ├── Icon-App-60x60@3x.png │ │ │ ├── Icon-App-76x76@1x.png │ │ │ ├── Icon-App-76x76@2x.png │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ └── LaunchImage.imageset │ │ │ ├── Contents.json │ │ │ ├── LaunchImage.png │ │ │ ├── LaunchImage@2x.png │ │ │ ├── LaunchImage@3x.png │ │ │ └── README.md │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ └── Runner-Bridging-Header.h │ ├── lib │ ├── api │ │ └── spring_api.dart │ ├── components │ │ └── image_send_form.dart │ ├── main.dart │ ├── page │ │ └── image_send_page.dart │ └── utility │ │ └── size.dart │ ├── pubspec.lock │ ├── pubspec.yaml │ └── test │ └── widget_test.dart ├── flutter_proj ├── .gitignore ├── .metadata ├── README.md ├── analysis_options.yaml ├── android │ ├── .gitignore │ ├── app │ │ ├── build.gradle │ │ └── src │ │ │ ├── debug │ │ │ └── AndroidManifest.xml │ │ │ ├── main │ │ │ ├── AndroidManifest.xml │ │ │ ├── kotlin │ │ │ │ └── com │ │ │ │ │ └── example │ │ │ │ │ └── flutter_proj │ │ │ │ │ └── MainActivity.kt │ │ │ └── res │ │ │ │ ├── drawable-v21 │ │ │ │ └── launch_background.xml │ │ │ │ ├── drawable │ │ │ │ └── launch_background.xml │ │ │ │ ├── mipmap-hdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-mdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── mipmap-xxxhdpi │ │ │ │ └── ic_launcher.png │ │ │ │ ├── values-night │ │ │ │ └── styles.xml │ │ │ │ └── values │ │ │ │ └── styles.xml │ │ │ └── profile │ │ │ └── AndroidManifest.xml │ ├── build.gradle │ ├── gradle.properties │ ├── gradle │ │ └── wrapper │ │ │ └── gradle-wrapper.properties │ └── settings.gradle ├── assets │ ├── avionic.jpg │ └── avionics2.jpg ├── ios │ ├── .gitignore │ ├── Flutter │ │ ├── AppFrameworkInfo.plist │ │ ├── Debug.xcconfig │ │ └── Release.xcconfig │ ├── Runner.xcodeproj │ │ ├── project.pbxproj │ │ ├── project.xcworkspace │ │ │ ├── contents.xcworkspacedata │ │ │ └── xcshareddata │ │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ │ └── WorkspaceSettings.xcsettings │ │ └── xcshareddata │ │ │ └── xcschemes │ │ │ └── Runner.xcscheme │ ├── Runner.xcworkspace │ │ ├── contents.xcworkspacedata │ │ └── xcshareddata │ │ │ ├── IDEWorkspaceChecks.plist │ │ │ └── WorkspaceSettings.xcsettings │ └── Runner │ │ ├── AppDelegate.swift │ │ ├── Assets.xcassets │ │ ├── AppIcon.appiconset │ │ │ ├── Contents.json │ │ │ ├── Icon-App-1024x1024@1x.png │ │ │ ├── Icon-App-20x20@1x.png │ │ │ ├── Icon-App-20x20@2x.png │ │ │ ├── Icon-App-20x20@3x.png │ │ │ ├── Icon-App-29x29@1x.png │ │ │ ├── Icon-App-29x29@2x.png │ │ │ ├── Icon-App-29x29@3x.png │ │ │ ├── Icon-App-40x40@1x.png │ │ │ ├── Icon-App-40x40@2x.png │ │ │ ├── Icon-App-40x40@3x.png │ │ │ ├── Icon-App-60x60@2x.png │ │ │ ├── Icon-App-60x60@3x.png │ │ │ ├── Icon-App-76x76@1x.png │ │ │ ├── Icon-App-76x76@2x.png │ │ │ └── Icon-App-83.5x83.5@2x.png │ │ └── LaunchImage.imageset │ │ │ ├── Contents.json │ │ │ ├── LaunchImage.png │ │ │ ├── LaunchImage@2x.png │ │ │ ├── LaunchImage@3x.png │ │ │ └── README.md │ │ ├── Base.lproj │ │ ├── LaunchScreen.storyboard │ │ └── Main.storyboard │ │ ├── Info.plist │ │ └── Runner-Bridging-Header.h ├── lib │ └── main.dart ├── pubspec.lock ├── pubspec.yaml └── test │ └── widget_test.dart ├── python ├── eighth.ipynb ├── fifth.ipynb ├── first.ipynb ├── fourth.ipynb ├── prob_solve.ipynb ├── second.ipynb ├── seventh.ipynb ├── sixth.ipynb └── third.ipynb ├── spring └── demo │ ├── .gitignore │ ├── build.gradle │ ├── gradle │ └── wrapper │ │ ├── gradle-wrapper.jar │ │ └── gradle-wrapper.properties │ ├── gradlew │ ├── gradlew.bat │ ├── settings.gradle │ └── src │ ├── main │ ├── java │ │ └── kr │ │ │ └── eddi │ │ │ └── demo │ │ │ ├── DemoApplication.java │ │ │ ├── controller │ │ │ ├── basic │ │ │ │ ├── eighteeth │ │ │ │ │ └── FirstExerciseController.java │ │ │ │ ├── first │ │ │ │ │ ├── FirstController.java │ │ │ │ │ └── FirstRestController.java │ │ │ │ ├── fourth │ │ │ │ │ └── FourthRestController.java │ │ │ │ ├── nineteenth │ │ │ │ │ ├── EntityResponseController.java │ │ │ │ │ └── HtmlController.java │ │ │ │ ├── nineth │ │ │ │ │ └── NinethLottoGameController.java │ │ │ │ ├── qna │ │ │ │ │ └── QnaRestController.java │ │ │ │ ├── second │ │ │ │ │ ├── ResponseTestController.java │ │ │ │ │ └── SecondController.java │ │ │ │ ├── seventh │ │ │ │ │ └── SeventhCleanDiceGameController.java │ │ │ │ ├── sixth │ │ │ │ │ ├── SixthCleanDiceGameController.java │ │ │ │ │ └── SixthDiceGameController.java │ │ │ │ ├── third │ │ │ │ │ └── ThirdRestController.java │ │ │ │ ├── twelveth │ │ │ │ │ └── PockerGameController.java │ │ │ │ └── twentieth │ │ │ │ │ └── Html2Controller.java │ │ │ ├── flutter │ │ │ │ ├── account │ │ │ │ │ ├── FlutterTestController.java │ │ │ │ │ └── request │ │ │ │ │ │ └── FlutterRequest.java │ │ │ │ └── image │ │ │ │ │ └── ImageController.java │ │ │ ├── jpa │ │ │ │ ├── board │ │ │ │ │ ├── JpaBoardController.java │ │ │ │ │ └── request │ │ │ │ │ │ └── BoardRequest.java │ │ │ │ └── member │ │ │ │ │ ├── JpaMemberController.java │ │ │ │ │ └── form │ │ │ │ │ ├── MemberLoginForm.java │ │ │ │ │ └── MemberRegisterForm.java │ │ │ ├── product │ │ │ │ ├── ProductController.java │ │ │ │ └── request │ │ │ │ │ └── ProductRequest.java │ │ │ ├── python │ │ │ │ └── PythonRequester.java │ │ │ └── vue │ │ │ │ ├── file │ │ │ │ ├── FileUploadController.java │ │ │ │ └── request │ │ │ │ │ └── RequestFileInfo.java │ │ │ │ ├── rpg │ │ │ │ └── thirtyoneth │ │ │ │ │ ├── RpgCharacterController.java │ │ │ │ │ ├── RpgExperienceExchangeController.java │ │ │ │ │ ├── RpgItemController.java │ │ │ │ │ └── request │ │ │ │ │ ├── Items.java │ │ │ │ │ └── RequestBuyItem.java │ │ │ │ ├── thirtieth │ │ │ │ └── AxiosTestController.java │ │ │ │ └── thirtytwoth │ │ │ │ ├── Vue2SpringDataReceiveController.java │ │ │ │ └── request │ │ │ │ └── VueRequestTestData.java │ │ │ ├── entity │ │ │ ├── basic │ │ │ │ ├── eighteenth │ │ │ │ │ ├── Apple.java │ │ │ │ │ ├── Banana.java │ │ │ │ │ ├── FoodFeature.java │ │ │ │ │ ├── Fruit.java │ │ │ │ │ ├── Grape.java │ │ │ │ │ ├── PlayerCharacter.java │ │ │ │ │ ├── SyllableNameManager.java │ │ │ │ │ ├── SyllableNameMap.java │ │ │ │ │ └── SyllableNames.java │ │ │ │ ├── fourth │ │ │ │ │ ├── NumberLoop.java │ │ │ │ │ └── Series.java │ │ │ │ ├── nineth │ │ │ │ │ ├── LottoCard.java │ │ │ │ │ ├── LottoCardManager.java │ │ │ │ │ ├── Player.java │ │ │ │ │ └── WinnerManager.java │ │ │ │ ├── second │ │ │ │ │ └── Member.java │ │ │ │ ├── seventh │ │ │ │ │ ├── Player.java │ │ │ │ │ └── Score.java │ │ │ │ ├── sixth │ │ │ │ │ ├── clean │ │ │ │ │ │ ├── Player.java │ │ │ │ │ │ └── Score.java │ │ │ │ │ └── dirty │ │ │ │ │ │ ├── Dice.java │ │ │ │ │ │ ├── Player.java │ │ │ │ │ │ └── Score.java │ │ │ │ ├── third │ │ │ │ │ ├── ClassRoom.java │ │ │ │ │ ├── Score.java │ │ │ │ │ └── Student.java │ │ │ │ └── twelveth │ │ │ │ │ ├── CardCharacter.java │ │ │ │ │ ├── CardShape.java │ │ │ │ │ ├── Pattern.java │ │ │ │ │ ├── Player.java │ │ │ │ │ ├── PlayerManager.java │ │ │ │ │ ├── PockerCard.java │ │ │ │ │ ├── PockerCardCharacter.java │ │ │ │ │ ├── PockerCardPattern.java │ │ │ │ │ ├── PockerCardShape.java │ │ │ │ │ ├── PockerGameManager.java │ │ │ │ │ └── RoundManager.java │ │ │ ├── jpa │ │ │ │ ├── boards │ │ │ │ │ └── Board.java │ │ │ │ └── member │ │ │ │ │ ├── Address.java │ │ │ │ │ ├── Authentication.java │ │ │ │ │ ├── BasicAuthentication.java │ │ │ │ │ ├── JpaMember.java │ │ │ │ │ └── MemberProfile.java │ │ │ ├── products │ │ │ │ └── Product.java │ │ │ ├── python │ │ │ │ └── PythonProduct.java │ │ │ ├── test │ │ │ │ ├── ClassRoom.java │ │ │ │ ├── Comment.java │ │ │ │ ├── MemberTest.java │ │ │ │ ├── TestBoard.java │ │ │ │ ├── TestStudent.java │ │ │ │ └── response │ │ │ │ │ └── CommentResponse.java │ │ │ └── vue │ │ │ │ ├── RandomNumber.java │ │ │ │ └── rpg │ │ │ │ ├── CharacterStatus.java │ │ │ │ ├── ExperienceExchange.java │ │ │ │ └── ShopItems.java │ │ │ ├── repository │ │ │ ├── board │ │ │ │ └── BoardRepository.java │ │ │ ├── member │ │ │ │ ├── AuthenticationRepository.java │ │ │ │ └── MemberRepository.java │ │ │ ├── products │ │ │ │ └── ProductRepository.java │ │ │ └── test │ │ │ │ ├── ClassRoomRepository.java │ │ │ │ ├── CommentRepository.java │ │ │ │ ├── MemberTestRepository.java │ │ │ │ ├── TestBoardRepository.java │ │ │ │ └── TestStudentRepository.java │ │ │ ├── service │ │ │ ├── jpa │ │ │ │ ├── board │ │ │ │ │ ├── BoardService.java │ │ │ │ │ └── BoardServiceImpl.java │ │ │ │ └── member │ │ │ │ │ ├── JpaMemberService.java │ │ │ │ │ ├── JpaMemberServiceImpl.java │ │ │ │ │ └── request │ │ │ │ │ ├── MemberLoginRequest.java │ │ │ │ │ └── MemberRegisterRequest.java │ │ │ ├── products │ │ │ │ ├── ProductService.java │ │ │ │ └── ProductServiceImpl.java │ │ │ └── security │ │ │ │ ├── RedisService.java │ │ │ │ └── RedisServiceImpl.java │ │ │ └── utility │ │ │ ├── basic │ │ │ ├── nineth │ │ │ │ ├── NicknameGenerator.java │ │ │ │ └── Score.java │ │ │ ├── seventh │ │ │ │ ├── Dice.java │ │ │ │ └── SpecialDiceOption.java │ │ │ ├── sixth │ │ │ │ └── clean │ │ │ │ │ ├── SpecialDiceOption.java │ │ │ │ │ ├── company1 │ │ │ │ │ └── Dice.java │ │ │ │ │ └── company2 │ │ │ │ │ └── Dice.java │ │ │ ├── third │ │ │ │ └── CustomRandom.java │ │ │ └── twelveth │ │ │ │ ├── BettingMoneyManager.java │ │ │ │ └── UserInput.java │ │ │ ├── encrypt │ │ │ ├── EncryptionUtil.java │ │ │ └── exception │ │ │ │ └── UnableToGenerateHash.java │ │ │ └── password │ │ │ └── PasswordHashConverter.java │ └── resources │ │ ├── application.yaml │ │ ├── static │ │ ├── css │ │ │ ├── checkbox-list.css │ │ │ ├── display-method-test-style.css │ │ │ ├── login-form-test.css │ │ │ └── number-form-test.css │ │ ├── img │ │ │ ├── ff6.jpg │ │ │ ├── link1.jpeg │ │ │ └── marioworld.png │ │ └── package.json │ │ └── templates │ │ ├── basic │ │ ├── first │ │ │ └── whatTimeIsIt.html │ │ ├── nineteenth │ │ │ ├── color-style.html │ │ │ ├── font.html │ │ │ ├── img-tag.html │ │ │ ├── list-tag.html │ │ │ ├── table-quiz.html │ │ │ ├── table-test1.html │ │ │ ├── table-test2.html │ │ │ ├── table-test3.html │ │ │ └── table-test4.html │ │ ├── package.json │ │ ├── second │ │ │ ├── board │ │ │ │ ├── delete.html │ │ │ │ ├── list.html │ │ │ │ ├── modify.html │ │ │ │ ├── read.html │ │ │ │ └── register.html │ │ │ └── test.html │ │ └── twentieth │ │ │ ├── checkbox-test.html │ │ │ ├── display-method-test.html │ │ │ ├── display-method-with-css.html │ │ │ ├── drop-down-btn-test.html │ │ │ ├── form-test.html │ │ │ ├── hyperlink-test.html │ │ │ ├── img-caption-test.html │ │ │ ├── img-size-test.html │ │ │ ├── login-form-test.html │ │ │ ├── login-form-test2.html │ │ │ ├── number-form-test.html │ │ │ └── radio-btn-test.html │ │ ├── package.json │ │ └── python │ │ └── pyResult.html │ └── test │ └── java │ └── kr │ └── eddi │ └── demo │ ├── BoardTestCase.java │ ├── DemoApplicationTests.java │ └── StudentTestCase.java └── vue └── frontend ├── .gitignore ├── README.md ├── babel.config.js ├── jsconfig.json ├── package-lock.json ├── package.json ├── public ├── favicon.ico └── index.html ├── src ├── App.vue ├── assets │ ├── img │ │ └── mario.png │ ├── json │ │ └── data.json │ ├── logo.png │ ├── logo.svg │ └── uploadImgs │ │ ├── Call.PNG │ │ ├── KakaoTalk_20221013_212956591_04.jpg │ │ └── mario.png ├── components │ ├── account │ │ ├── LoginForm.vue │ │ └── SignUpForm.vue │ ├── basics │ │ ├── CharacterManager.vue │ │ ├── DataSendTestForm.vue │ │ ├── ExperienceManager.vue │ │ ├── GlobalComponent.vue │ │ ├── InventoryManager.vue │ │ ├── LocalComponent.vue │ │ ├── MarketManager.vue │ │ ├── MonsterManager.vue │ │ └── Test.vue │ ├── boards │ │ ├── JpaBoardList.vue │ │ ├── JpaBoardModifyForm.vue │ │ ├── JpaBoardRead.vue │ │ └── JpaBoardRegisterForm.vue │ ├── common │ │ └── CommonButton.vue │ ├── d3test │ │ └── ChartTest.vue │ ├── game │ │ ├── TableComponent.vue │ │ ├── TdComponent.vue │ │ └── TrComponent.vue │ └── products │ │ ├── JpaProductList.vue │ │ ├── JpaProductModifyForm.vue │ │ ├── JpaProductRead.vue │ │ └── JpaProductRegisterForm.vue ├── config │ └── index.js ├── main.js ├── mixins │ └── buttonMixins.js ├── plugins │ └── vuetify.js ├── router │ └── index.js ├── store │ ├── actions.js │ ├── getters.js │ ├── index.js │ ├── mutation-types.js │ ├── mutations.js │ └── states.js └── views │ ├── HomeView.vue │ ├── account │ ├── SignInView.vue │ └── SignUpView.vue │ ├── axiosTest │ └── VueToSpringView.vue │ ├── basics │ ├── ComponentTestView.vue │ └── DataSendTestView.vue │ ├── boards │ ├── JpaBoardListView.vue │ ├── JpaBoardModifyView.vue │ ├── JpaBoardReadView.vue │ └── JpaBoardRegisterView.vue │ ├── common │ └── CommonTest.vue │ ├── d3test │ ├── D3PercentTestView.vue │ ├── D3SensorTestView.vue │ └── D3TestView.vue │ ├── file │ └── FileUploadView.vue │ ├── game │ └── ConcaveBoardView.vue │ ├── products │ ├── JpaProductListView.vue │ ├── JpaProductModifyView.vue │ ├── JpaProductReadView.vue │ └── JpaProductRegisterView.vue │ ├── rpg │ └── RpgGameView.vue │ ├── support │ └── CarouselView.vue │ └── vuetify │ ├── CalendarTestView.vue │ ├── ImageGalleryTestView.vue │ ├── SwiperTestView.vue │ └── VuetifyTasteView.vue └── vue.config.js /.gitignore: -------------------------------------------------------------------------------- 1 | # Compiled class file 2 | *.class 3 | 4 | # Log file 5 | *.log 6 | 7 | # BlueJ files 8 | *.ctxt 9 | 10 | # Mobile Tools for Java (J2ME) 11 | .mtj.tmp/ 12 | 13 | # Package Files # 14 | *.jar 15 | *.war 16 | *.nar 17 | *.ear 18 | *.zip 19 | *.tar.gz 20 | *.rar 21 | 22 | # virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml 23 | hs_err_pid* 24 | -------------------------------------------------------------------------------- /.idea/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/.idea/.gitignore -------------------------------------------------------------------------------- /.idea/LectureNotes.iml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /.idea/codeStyles/codeStyleConfig.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 5 | -------------------------------------------------------------------------------- /.idea/misc.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /.idea/modules.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /.idea/vcs.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # LectureNotes 2 | 수업 자료는 여기에 올립니다. 3 | -------------------------------------------------------------------------------- /app/blog_type_app/.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | 12 | # IntelliJ related 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # The .vscode folder contains launch configuration and tasks you configure in 19 | # VS Code which you may wish to be included in version control, so this line 20 | # is commented out by default. 21 | #.vscode/ 22 | 23 | # Flutter/Dart/Pub related 24 | **/doc/api/ 25 | **/ios/Flutter/.last_build_id 26 | .dart_tool/ 27 | .flutter-plugins 28 | .flutter-plugins-dependencies 29 | .packages 30 | .pub-cache/ 31 | .pub/ 32 | /build/ 33 | 34 | # Web related 35 | lib/generated_plugin_registrant.dart 36 | 37 | # Symbolication related 38 | app.*.symbols 39 | 40 | # Obfuscation related 41 | app.*.map.json 42 | 43 | # Android Studio will place build artifacts here 44 | /android/app/debug 45 | /android/app/profile 46 | /android/app/release 47 | -------------------------------------------------------------------------------- /app/blog_type_app/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 7e9793dee1b85a243edd0e06cb1658e98b077561 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /app/blog_type_app/README.md: -------------------------------------------------------------------------------- 1 | # blog_type_app 2 | 3 | A new Flutter project. 4 | 5 | ## Getting Started 6 | 7 | This project is a starting point for a Flutter application. 8 | 9 | A few resources to get you started if this is your first Flutter project: 10 | 11 | - [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) 12 | - [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) 13 | 14 | For help getting started with Flutter, view our 15 | [online documentation](https://flutter.dev/docs), which offers tutorials, 16 | samples, guidance on mobile development, and a full API reference. 17 | -------------------------------------------------------------------------------- /app/blog_type_app/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /app/blog_type_app/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/blog_type_app/android/app/src/main/kotlin/com/example/blog_type_app/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.blog_type_app 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /app/blog_type_app/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /app/blog_type_app/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /app/blog_type_app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/blog_type_app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/blog_type_app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/blog_type_app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/blog_type_app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/blog_type_app/android/app/src/main/res/values-night/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /app/blog_type_app/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /app/blog_type_app/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/blog_type_app/android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.6.10' 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:4.1.0' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | google() 17 | mavenCentral() 18 | } 19 | } 20 | 21 | rootProject.buildDir = '../build' 22 | subprojects { 23 | project.buildDir = "${rootProject.buildDir}/${project.name}" 24 | } 25 | subprojects { 26 | project.evaluationDependsOn(':app') 27 | } 28 | 29 | task clean(type: Delete) { 30 | delete rootProject.buildDir 31 | } 32 | -------------------------------------------------------------------------------- /app/blog_type_app/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /app/blog_type_app/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 7 | -------------------------------------------------------------------------------- /app/blog_type_app/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /app/blog_type_app/assets/images/avionic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/assets/images/avionic.jpg -------------------------------------------------------------------------------- /app/blog_type_app/assets/images/avionics2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/assets/images/avionics2.jpg -------------------------------------------------------------------------------- /app/blog_type_app/assets/images/raptor.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/assets/images/raptor.jpg -------------------------------------------------------------------------------- /app/blog_type_app/ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /app/blog_type_app/ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 9.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/blog_type_app/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /app/blog_type_app/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/blog_type_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /app/blog_type_app/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /app/blog_type_app/lib/components/blog_type_list_item.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | 3 | class BlogTypeListItem extends StatelessWidget { 4 | final String imageName; 5 | final String title; 6 | 7 | const BlogTypeListItem({ 8 | Key? key, 9 | required this.imageName, 10 | required this.title 11 | }) : super(key: key); 12 | 13 | @override 14 | Widget build(BuildContext context) { 15 | return Padding( 16 | padding: const EdgeInsets.symmetric(vertical: 20), 17 | child: Column( 18 | children: [ 19 | AspectRatio( 20 | aspectRatio: 2 / 1, 21 | child: ClipRRect( 22 | borderRadius: BorderRadius.circular(20), 23 | child: Image.asset("assets/images/$imageName.jpg", fit: BoxFit.cover), 24 | ), 25 | ), 26 | SizedBox(height: 10,), 27 | Text( 28 | title, 29 | style: TextStyle(fontSize: 20), 30 | ) 31 | ], 32 | ), 33 | ); 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /app/blog_type_app/lib/components/blog_type_title.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | 3 | class BlogTypeTitle extends StatelessWidget { 4 | const BlogTypeTitle({Key? key}) : super(key: key); 5 | 6 | @override 7 | Widget build(BuildContext context) { 8 | return Padding( 9 | padding: const EdgeInsets.only(top: 20), 10 | child: Text( 11 | "EDDI Robot Academy", 12 | style: TextStyle(fontSize: 25), 13 | ) 14 | ); 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /app/flutter_login_ui/.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | 12 | # IntelliJ related 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # The .vscode folder contains launch configuration and tasks you configure in 19 | # VS Code which you may wish to be included in version control, so this line 20 | # is commented out by default. 21 | #.vscode/ 22 | 23 | # Flutter/Dart/Pub related 24 | **/doc/api/ 25 | **/ios/Flutter/.last_build_id 26 | .dart_tool/ 27 | .flutter-plugins 28 | .flutter-plugins-dependencies 29 | .packages 30 | .pub-cache/ 31 | .pub/ 32 | /build/ 33 | 34 | # Web related 35 | lib/generated_plugin_registrant.dart 36 | 37 | # Symbolication related 38 | app.*.symbols 39 | 40 | # Obfuscation related 41 | app.*.map.json 42 | 43 | # Android Studio will place build artifacts here 44 | /android/app/debug 45 | /android/app/profile 46 | /android/app/release 47 | -------------------------------------------------------------------------------- /app/flutter_login_ui/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 7e9793dee1b85a243edd0e06cb1658e98b077561 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /app/flutter_login_ui/README.md: -------------------------------------------------------------------------------- 1 | # flutter_login_ui 2 | 3 | A new Flutter project. 4 | 5 | ## Getting Started 6 | 7 | This project is a starting point for a Flutter application. 8 | 9 | A few resources to get you started if this is your first Flutter project: 10 | 11 | - [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) 12 | - [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) 13 | 14 | For help getting started with Flutter, view our 15 | [online documentation](https://flutter.dev/docs), which offers tutorials, 16 | samples, guidance on mobile development, and a full API reference. 17 | -------------------------------------------------------------------------------- /app/flutter_login_ui/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /app/flutter_login_ui/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/flutter_login_ui/android/app/src/main/kotlin/com/example/flutter_login_ui/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.flutter_login_ui 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /app/flutter_login_ui/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /app/flutter_login_ui/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /app/flutter_login_ui/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/flutter_login_ui/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/flutter_login_ui/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/flutter_login_ui/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/flutter_login_ui/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/flutter_login_ui/android/app/src/main/res/values-night/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /app/flutter_login_ui/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /app/flutter_login_ui/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/flutter_login_ui/android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.6.10' 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:4.1.0' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | google() 17 | mavenCentral() 18 | } 19 | } 20 | 21 | rootProject.buildDir = '../build' 22 | subprojects { 23 | project.buildDir = "${rootProject.buildDir}/${project.name}" 24 | } 25 | subprojects { 26 | project.evaluationDependsOn(':app') 27 | } 28 | 29 | task clean(type: Delete) { 30 | delete rootProject.buildDir 31 | } 32 | -------------------------------------------------------------------------------- /app/flutter_login_ui/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /app/flutter_login_ui/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 7 | -------------------------------------------------------------------------------- /app/flutter_login_ui/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 9.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/flutter_login_ui/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /app/flutter_login_ui/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /app/flutter_login_ui/lib/components/logo.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | 3 | class Logo extends StatelessWidget { 4 | const Logo({Key? key, required this.title}) : super(key: key); 5 | 6 | final String title; 7 | 8 | @override 9 | Widget build(BuildContext context) { 10 | return Column( 11 | children: [ 12 | const Image(image: AssetImage("assets/EDDI_eng.png")), 13 | Text(title, style: const TextStyle(fontSize: 30, fontWeight: FontWeight.bold),) 14 | ], 15 | ); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /app/flutter_login_ui/lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_login_ui/pages/home_page.dart'; 3 | import 'package:flutter_login_ui/pages/login_page.dart'; 4 | 5 | void main() { 6 | runApp(const MyApp()); 7 | } 8 | 9 | class MyApp extends StatelessWidget { 10 | const MyApp({Key? key}) : super(key: key); 11 | 12 | // This widget is the root of your application. 13 | @override 14 | Widget build(BuildContext context) { 15 | return MaterialApp( 16 | theme: ThemeData( 17 | textButtonTheme: TextButtonThemeData( 18 | style: TextButton.styleFrom( 19 | backgroundColor: Colors.black, 20 | primary: Colors.white, 21 | shape: 22 | RoundedRectangleBorder(borderRadius: BorderRadius.circular(30)), 23 | minimumSize: Size(300, 45), 24 | ) 25 | ) 26 | ), 27 | title: 'Flutter Demo', 28 | initialRoute: "/login", 29 | routes: { 30 | "/login": (context) => LoginPage(), 31 | "/home": (context) => HomePage(), 32 | }, 33 | ); 34 | } 35 | } -------------------------------------------------------------------------------- /app/flutter_login_ui/lib/pages/home_page.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import '../components/logo.dart'; 4 | import '../utility/size.dart'; 5 | 6 | class HomePage extends StatelessWidget { 7 | const HomePage({Key? key}) : super(key: key); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Scaffold( 12 | body: Padding( 13 | padding: const EdgeInsets.all(16.0), 14 | child: ListView( 15 | children: [ 16 | const SizedBox(height: small_gap,), 17 | const Logo(title: "Login",), 18 | const SizedBox(height: small_gap,), 19 | TextButton( 20 | onPressed: () { 21 | Navigator.pop(context); 22 | }, 23 | child: const Text("서비스 시작!"), 24 | ) 25 | ], 26 | ), 27 | ) 28 | ); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /app/flutter_login_ui/lib/pages/login_page.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:flutter_login_ui/components/custom_form.dart'; 3 | import 'package:flutter_login_ui/utility/size.dart'; 4 | 5 | import '../components/logo.dart'; 6 | 7 | class LoginPage extends StatelessWidget { 8 | const LoginPage({Key? key}) : super(key: key); 9 | 10 | @override 11 | Widget build(BuildContext context) { 12 | return Scaffold( 13 | body: Padding( 14 | padding: const EdgeInsets.all(16.0), 15 | child: ListView( 16 | children: [ 17 | const SizedBox(height: small_gap,), 18 | const Logo(title: "Login",), 19 | const SizedBox(height: small_gap,), 20 | CustomForm(), 21 | ], 22 | ), 23 | ) 24 | ); 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /app/flutter_login_ui/lib/utility/size.dart: -------------------------------------------------------------------------------- 1 | const double xxlarge_gap = 200.0; 2 | const double xlarge_gap = 100.0; 3 | const double xmedium_gap = 50.0; 4 | const double large_gap = 20.0; 5 | const double medium_gap = 10.0; 6 | const double small_gap = 5.0; -------------------------------------------------------------------------------- /app/image_send/.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | 12 | # IntelliJ related 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # The .vscode folder contains launch configuration and tasks you configure in 19 | # VS Code which you may wish to be included in version control, so this line 20 | # is commented out by default. 21 | #.vscode/ 22 | 23 | # Flutter/Dart/Pub related 24 | **/doc/api/ 25 | **/ios/Flutter/.last_build_id 26 | .dart_tool/ 27 | .flutter-plugins 28 | .flutter-plugins-dependencies 29 | .packages 30 | .pub-cache/ 31 | .pub/ 32 | /build/ 33 | 34 | # Web related 35 | lib/generated_plugin_registrant.dart 36 | 37 | # Symbolication related 38 | app.*.symbols 39 | 40 | # Obfuscation related 41 | app.*.map.json 42 | 43 | # Android Studio will place build artifacts here 44 | /android/app/debug 45 | /android/app/profile 46 | /android/app/release 47 | -------------------------------------------------------------------------------- /app/image_send/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 7e9793dee1b85a243edd0e06cb1658e98b077561 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /app/image_send/README.md: -------------------------------------------------------------------------------- 1 | # image_send 2 | 3 | A new Flutter project. 4 | 5 | ## Getting Started 6 | 7 | This project is a starting point for a Flutter application. 8 | 9 | A few resources to get you started if this is your first Flutter project: 10 | 11 | - [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) 12 | - [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) 13 | 14 | For help getting started with Flutter, view our 15 | [online documentation](https://flutter.dev/docs), which offers tutorials, 16 | samples, guidance on mobile development, and a full API reference. 17 | -------------------------------------------------------------------------------- /app/image_send/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /app/image_send/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/image_send/android/app/src/main/kotlin/com/example/image_send/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.image_send 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /app/image_send/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /app/image_send/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /app/image_send/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/image_send/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/image_send/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/image_send/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/image_send/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /app/image_send/android/app/src/main/res/values-night/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /app/image_send/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /app/image_send/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/image_send/android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.6.10' 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:4.1.0' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | google() 17 | mavenCentral() 18 | } 19 | } 20 | 21 | rootProject.buildDir = '../build' 22 | subprojects { 23 | project.buildDir = "${rootProject.buildDir}/${project.name}" 24 | } 25 | subprojects { 26 | project.evaluationDependsOn(':app') 27 | } 28 | 29 | task clean(type: Delete) { 30 | delete rootProject.buildDir 31 | } 32 | -------------------------------------------------------------------------------- /app/image_send/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /app/image_send/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 7 | -------------------------------------------------------------------------------- /app/image_send/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /app/image_send/assets/images/mario1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/assets/images/mario1.jpg -------------------------------------------------------------------------------- /app/image_send/assets/images/mario2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/assets/images/mario2.jpg -------------------------------------------------------------------------------- /app/image_send/ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /app/image_send/ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 9.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /app/image_send/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /app/image_send/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /app/image_send/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/image_send/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/image_send/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/image_send/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /app/image_send/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/image_send/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /app/image_send/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/app/image_send/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /app/image_send/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /app/image_send/lib/components/image_send_form.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/cupertino.dart'; 2 | import 'package:flutter/material.dart'; 3 | 4 | import '../api/spring_api.dart'; 5 | 6 | class ImageSendForm extends StatelessWidget { 7 | final _formKey = GlobalKey(); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Form( 12 | key: _formKey, 13 | child: Column( 14 | children: [ 15 | TextButton( 16 | onPressed: () { 17 | SpringApi().uploadFiles(); 18 | 19 | if (_formKey.currentState!.validate()) { 20 | Navigator.pushNamed(context, "/home"); 21 | } 22 | }, 23 | child: const Text("이미지 전송!"), 24 | ) 25 | ], 26 | )); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /app/image_send/lib/main.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | import 'package:image_send/page/image_send_page.dart'; 3 | 4 | void main() { 5 | runApp(const MyApp()); 6 | } 7 | 8 | class MyApp extends StatelessWidget { 9 | const MyApp({Key? key}) : super(key: key); 10 | 11 | @override 12 | Widget build(BuildContext context) { 13 | return MaterialApp( 14 | theme: ThemeData( 15 | textButtonTheme: TextButtonThemeData( 16 | style: TextButton.styleFrom( 17 | backgroundColor: Colors.black, 18 | primary: Colors.white, 19 | shape: RoundedRectangleBorder(borderRadius: BorderRadius.circular(30)), 20 | minimumSize: Size(300, 45), 21 | ))), 22 | title: 'Flutter Demo', 23 | initialRoute: "/home", 24 | routes: { 25 | "/home": (context) => ImageSendPage(), 26 | }, 27 | ); 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /app/image_send/lib/page/image_send_page.dart: -------------------------------------------------------------------------------- 1 | import 'package:flutter/material.dart'; 2 | 3 | import '../components/image_send_form.dart'; 4 | import '../utility/size.dart'; 5 | 6 | class ImageSendPage extends StatelessWidget { 7 | const ImageSendPage({Key? key}) : super(key: key); 8 | 9 | @override 10 | Widget build(BuildContext context) { 11 | return Scaffold( 12 | body: Padding( 13 | padding: const EdgeInsets.all(16.0), 14 | child: ListView( 15 | children: [ 16 | const SizedBox( 17 | height: small_gap, 18 | ), 19 | ImageSendForm(), 20 | ], 21 | ), 22 | )); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /app/image_send/lib/utility/size.dart: -------------------------------------------------------------------------------- 1 | const double xxlarge_gap = 200.0; 2 | const double xlarge_gap = 100.0; 3 | const double xmedium_gap = 50.0; 4 | const double large_gap = 20.0; 5 | const double medium_gap = 10.0; 6 | const double small_gap = 5.0; 7 | -------------------------------------------------------------------------------- /flutter_proj/.gitignore: -------------------------------------------------------------------------------- 1 | # Miscellaneous 2 | *.class 3 | *.log 4 | *.pyc 5 | *.swp 6 | .DS_Store 7 | .atom/ 8 | .buildlog/ 9 | .history 10 | .svn/ 11 | 12 | # IntelliJ related 13 | *.iml 14 | *.ipr 15 | *.iws 16 | .idea/ 17 | 18 | # The .vscode folder contains launch configuration and tasks you configure in 19 | # VS Code which you may wish to be included in version control, so this line 20 | # is commented out by default. 21 | #.vscode/ 22 | 23 | # Flutter/Dart/Pub related 24 | **/doc/api/ 25 | **/ios/Flutter/.last_build_id 26 | .dart_tool/ 27 | .flutter-plugins 28 | .flutter-plugins-dependencies 29 | .packages 30 | .pub-cache/ 31 | .pub/ 32 | /build/ 33 | 34 | # Web related 35 | lib/generated_plugin_registrant.dart 36 | 37 | # Symbolication related 38 | app.*.symbols 39 | 40 | # Obfuscation related 41 | app.*.map.json 42 | 43 | # Android Studio will place build artifacts here 44 | /android/app/debug 45 | /android/app/profile 46 | /android/app/release 47 | -------------------------------------------------------------------------------- /flutter_proj/.metadata: -------------------------------------------------------------------------------- 1 | # This file tracks properties of this Flutter project. 2 | # Used by Flutter tool to assess capabilities and perform upgrades etc. 3 | # 4 | # This file should be version controlled and should not be manually edited. 5 | 6 | version: 7 | revision: 7e9793dee1b85a243edd0e06cb1658e98b077561 8 | channel: stable 9 | 10 | project_type: app 11 | -------------------------------------------------------------------------------- /flutter_proj/README.md: -------------------------------------------------------------------------------- 1 | # flutter_proj 2 | 3 | A new Flutter project. 4 | 5 | ## Getting Started 6 | 7 | This project is a starting point for a Flutter application. 8 | 9 | A few resources to get you started if this is your first Flutter project: 10 | 11 | - [Lab: Write your first Flutter app](https://flutter.dev/docs/get-started/codelab) 12 | - [Cookbook: Useful Flutter samples](https://flutter.dev/docs/cookbook) 13 | 14 | For help getting started with Flutter, view our 15 | [online documentation](https://flutter.dev/docs), which offers tutorials, 16 | samples, guidance on mobile development, and a full API reference. 17 | -------------------------------------------------------------------------------- /flutter_proj/android/.gitignore: -------------------------------------------------------------------------------- 1 | gradle-wrapper.jar 2 | /.gradle 3 | /captures/ 4 | /gradlew 5 | /gradlew.bat 6 | /local.properties 7 | GeneratedPluginRegistrant.java 8 | 9 | # Remember to never publicly share your keystore. 10 | # See https://flutter.dev/docs/deployment/android#reference-the-keystore-from-the-app 11 | key.properties 12 | **/*.keystore 13 | **/*.jks 14 | -------------------------------------------------------------------------------- /flutter_proj/android/app/src/debug/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /flutter_proj/android/app/src/main/kotlin/com/example/flutter_proj/MainActivity.kt: -------------------------------------------------------------------------------- 1 | package com.example.flutter_proj 2 | 3 | import io.flutter.embedding.android.FlutterActivity 4 | 5 | class MainActivity: FlutterActivity() { 6 | } 7 | -------------------------------------------------------------------------------- /flutter_proj/android/app/src/main/res/drawable-v21/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /flutter_proj/android/app/src/main/res/drawable/launch_background.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 12 | 13 | -------------------------------------------------------------------------------- /flutter_proj/android/app/src/main/res/mipmap-hdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/android/app/src/main/res/mipmap-hdpi/ic_launcher.png -------------------------------------------------------------------------------- /flutter_proj/android/app/src/main/res/mipmap-mdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/android/app/src/main/res/mipmap-mdpi/ic_launcher.png -------------------------------------------------------------------------------- /flutter_proj/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png -------------------------------------------------------------------------------- /flutter_proj/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /flutter_proj/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png -------------------------------------------------------------------------------- /flutter_proj/android/app/src/main/res/values-night/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /flutter_proj/android/app/src/main/res/values/styles.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 9 | 15 | 18 | 19 | -------------------------------------------------------------------------------- /flutter_proj/android/app/src/profile/AndroidManifest.xml: -------------------------------------------------------------------------------- 1 | 3 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /flutter_proj/android/build.gradle: -------------------------------------------------------------------------------- 1 | buildscript { 2 | ext.kotlin_version = '1.6.10' 3 | repositories { 4 | google() 5 | mavenCentral() 6 | } 7 | 8 | dependencies { 9 | classpath 'com.android.tools.build:gradle:4.1.0' 10 | classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" 11 | } 12 | } 13 | 14 | allprojects { 15 | repositories { 16 | google() 17 | mavenCentral() 18 | } 19 | } 20 | 21 | rootProject.buildDir = '../build' 22 | subprojects { 23 | project.buildDir = "${rootProject.buildDir}/${project.name}" 24 | } 25 | subprojects { 26 | project.evaluationDependsOn(':app') 27 | } 28 | 29 | task clean(type: Delete) { 30 | delete rootProject.buildDir 31 | } 32 | -------------------------------------------------------------------------------- /flutter_proj/android/gradle.properties: -------------------------------------------------------------------------------- 1 | org.gradle.jvmargs=-Xmx1536M 2 | android.useAndroidX=true 3 | android.enableJetifier=true 4 | -------------------------------------------------------------------------------- /flutter_proj/android/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | #Fri Jun 23 08:50:38 CEST 2017 2 | distributionBase=GRADLE_USER_HOME 3 | distributionPath=wrapper/dists 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.7-all.zip 7 | -------------------------------------------------------------------------------- /flutter_proj/android/settings.gradle: -------------------------------------------------------------------------------- 1 | include ':app' 2 | 3 | def localPropertiesFile = new File(rootProject.projectDir, "local.properties") 4 | def properties = new Properties() 5 | 6 | assert localPropertiesFile.exists() 7 | localPropertiesFile.withReader("UTF-8") { reader -> properties.load(reader) } 8 | 9 | def flutterSdkPath = properties.getProperty("flutter.sdk") 10 | assert flutterSdkPath != null, "flutter.sdk not set in local.properties" 11 | apply from: "$flutterSdkPath/packages/flutter_tools/gradle/app_plugin_loader.gradle" 12 | -------------------------------------------------------------------------------- /flutter_proj/assets/avionic.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/assets/avionic.jpg -------------------------------------------------------------------------------- /flutter_proj/assets/avionics2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/assets/avionics2.jpg -------------------------------------------------------------------------------- /flutter_proj/ios/.gitignore: -------------------------------------------------------------------------------- 1 | **/dgph 2 | *.mode1v3 3 | *.mode2v3 4 | *.moved-aside 5 | *.pbxuser 6 | *.perspectivev3 7 | **/*sync/ 8 | .sconsign.dblite 9 | .tags* 10 | **/.vagrant/ 11 | **/DerivedData/ 12 | Icon? 13 | **/Pods/ 14 | **/.symlinks/ 15 | profile 16 | xcuserdata 17 | **/.generated/ 18 | Flutter/App.framework 19 | Flutter/Flutter.framework 20 | Flutter/Flutter.podspec 21 | Flutter/Generated.xcconfig 22 | Flutter/ephemeral/ 23 | Flutter/app.flx 24 | Flutter/app.zip 25 | Flutter/flutter_assets/ 26 | Flutter/flutter_export_environment.sh 27 | ServiceDefinitions.json 28 | Runner/GeneratedPluginRegistrant.* 29 | 30 | # Exceptions to above rules. 31 | !default.mode1v3 32 | !default.mode2v3 33 | !default.pbxuser 34 | !default.perspectivev3 35 | -------------------------------------------------------------------------------- /flutter_proj/ios/Flutter/AppFrameworkInfo.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleDevelopmentRegion 6 | en 7 | CFBundleExecutable 8 | App 9 | CFBundleIdentifier 10 | io.flutter.flutter.app 11 | CFBundleInfoDictionaryVersion 12 | 6.0 13 | CFBundleName 14 | App 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | 1.0 19 | CFBundleSignature 20 | ???? 21 | CFBundleVersion 22 | 1.0 23 | MinimumOSVersion 24 | 9.0 25 | 26 | 27 | -------------------------------------------------------------------------------- /flutter_proj/ios/Flutter/Debug.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /flutter_proj/ios/Flutter/Release.xcconfig: -------------------------------------------------------------------------------- 1 | #include "Generated.xcconfig" 2 | -------------------------------------------------------------------------------- /flutter_proj/ios/Runner.xcodeproj/project.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /flutter_proj/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /flutter_proj/ios/Runner.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /flutter_proj/ios/Runner.xcworkspace/contents.xcworkspacedata: -------------------------------------------------------------------------------- 1 | 2 | 4 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /flutter_proj/ios/Runner.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | IDEDidComputeMac32BitWarning 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /flutter_proj/ios/Runner.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | PreviewsEnabled 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/AppDelegate.swift: -------------------------------------------------------------------------------- 1 | import UIKit 2 | import Flutter 3 | 4 | @UIApplicationMain 5 | @objc class AppDelegate: FlutterAppDelegate { 6 | override func application( 7 | _ application: UIApplication, 8 | didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]? 9 | ) -> Bool { 10 | GeneratedPluginRegistrant.register(with: self) 11 | return super.application(application, didFinishLaunchingWithOptions: launchOptions) 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-1024x1024@1x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@1x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@2x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-20x20@3x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@1x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@2x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-29x29@3x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@1x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@2x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-40x40@3x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@2x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-60x60@3x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@1x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-76x76@2x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/AppIcon.appiconset/Icon-App-83.5x83.5@2x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/LaunchImage.imageset/Contents.json: -------------------------------------------------------------------------------- 1 | { 2 | "images" : [ 3 | { 4 | "idiom" : "universal", 5 | "filename" : "LaunchImage.png", 6 | "scale" : "1x" 7 | }, 8 | { 9 | "idiom" : "universal", 10 | "filename" : "LaunchImage@2x.png", 11 | "scale" : "2x" 12 | }, 13 | { 14 | "idiom" : "universal", 15 | "filename" : "LaunchImage@3x.png", 16 | "scale" : "3x" 17 | } 18 | ], 19 | "info" : { 20 | "version" : 1, 21 | "author" : "xcode" 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@2x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/flutter_proj/ios/Runner/Assets.xcassets/LaunchImage.imageset/LaunchImage@3x.png -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Assets.xcassets/LaunchImage.imageset/README.md: -------------------------------------------------------------------------------- 1 | # Launch Screen Assets 2 | 3 | You can customize the launch screen with your own desired assets by replacing the image files in this directory. 4 | 5 | You can also do it by opening your Flutter project's Xcode project with `open ios/Runner.xcworkspace`, selecting `Runner/Assets.xcassets` in the Project Navigator and dropping in the desired images. -------------------------------------------------------------------------------- /flutter_proj/ios/Runner/Runner-Bridging-Header.h: -------------------------------------------------------------------------------- 1 | #import "GeneratedPluginRegistrant.h" 2 | -------------------------------------------------------------------------------- /spring/demo/.gitignore: -------------------------------------------------------------------------------- 1 | HELP.md 2 | .gradle 3 | build/ 4 | !gradle/wrapper/gradle-wrapper.jar 5 | !**/src/main/**/build/ 6 | !**/src/test/**/build/ 7 | 8 | ### STS ### 9 | .apt_generated 10 | .classpath 11 | .factorypath 12 | .project 13 | .settings 14 | .springBeans 15 | .sts4-cache 16 | bin/ 17 | !**/src/main/**/bin/ 18 | !**/src/test/**/bin/ 19 | 20 | ### IntelliJ IDEA ### 21 | .idea 22 | *.iws 23 | *.iml 24 | *.ipr 25 | out/ 26 | !**/src/main/**/out/ 27 | !**/src/test/**/out/ 28 | 29 | ### NetBeans ### 30 | /nbproject/private/ 31 | /nbbuild/ 32 | /dist/ 33 | /nbdist/ 34 | /.nb-gradle/ 35 | 36 | ### VS Code ### 37 | .vscode/ 38 | -------------------------------------------------------------------------------- /spring/demo/build.gradle: -------------------------------------------------------------------------------- 1 | plugins { 2 | id 'org.springframework.boot' version '2.7.1' 3 | id 'io.spring.dependency-management' version '1.0.11.RELEASE' 4 | id 'java' 5 | } 6 | 7 | group = 'kr.eddi' 8 | version = '0.0.1-SNAPSHOT' 9 | sourceCompatibility = '11' 10 | 11 | configurations { 12 | compileOnly { 13 | extendsFrom annotationProcessor 14 | } 15 | } 16 | 17 | repositories { 18 | mavenCentral() 19 | } 20 | 21 | dependencies { 22 | implementation 'org.springframework.boot:spring-boot-starter-data-jpa' 23 | implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' 24 | implementation 'org.springframework.boot:spring-boot-starter-web' 25 | 26 | implementation 'org.springframework.boot:spring-boot-starter-data-redis' 27 | 28 | compileOnly 'org.projectlombok:lombok' 29 | runtimeOnly 'mysql:mysql-connector-java' 30 | annotationProcessor 'org.projectlombok:lombok' 31 | testImplementation 'org.springframework.boot:spring-boot-starter-test' 32 | } 33 | 34 | tasks.named('test') { 35 | useJUnitPlatform() 36 | } 37 | -------------------------------------------------------------------------------- /spring/demo/gradle/wrapper/gradle-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/spring/demo/gradle/wrapper/gradle-wrapper.jar -------------------------------------------------------------------------------- /spring/demo/gradle/wrapper/gradle-wrapper.properties: -------------------------------------------------------------------------------- 1 | distributionBase=GRADLE_USER_HOME 2 | distributionPath=wrapper/dists 3 | distributionUrl=https\://services.gradle.org/distributions/gradle-7.4.1-bin.zip 4 | zipStoreBase=GRADLE_USER_HOME 5 | zipStorePath=wrapper/dists 6 | -------------------------------------------------------------------------------- /spring/demo/settings.gradle: -------------------------------------------------------------------------------- 1 | rootProject.name = 'demo' 2 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/DemoApplication.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo; 2 | 3 | import org.springframework.boot.SpringApplication; 4 | import org.springframework.boot.autoconfigure.SpringBootApplication; 5 | 6 | @SpringBootApplication 7 | public class DemoApplication { 8 | 9 | public static void main(String[] args) { 10 | SpringApplication.run(DemoApplication.class, args); 11 | } 12 | 13 | } 14 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/basic/first/FirstRestController.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.basic.first; 2 | 3 | import org.springframework.web.bind.annotation.GetMapping; 4 | import org.springframework.web.bind.annotation.RestController; 5 | 6 | // @RestController vs @Controller 7 | // 기본적으로 웹 상에서 데이터들은 json 형태로 전송이 됨. 8 | // json을 보면 HashMap과 유사한 형태를 띄는 것을 볼 수 있음. 9 | // key: value 형태로 메시지가 전달되는데 실제 json도 비슷함. 10 | // {key1: value1} 11 | // value1: {key2, value2} 12 | // {key1: {key2, value2}} 13 | // 데이터 처리를 json을 디폴트로 처리한다라는 부분이 @RestController 라고 보면 됨 14 | @RestController 15 | public class FirstRestController { 16 | 17 | // GetMapping의 경우 18 | // 실제 웹상에서 정보를 요청하는 방식엔 GET, POST가 존재함 19 | // 일반적으로 URL 입력을 통해 요청하는 것은 GET 방식이며 20 | // json 데이터를 전송하기 위한 목적으로 POST를 활용함. 21 | // 우리는 URL에 특정 주소를 입력하여 사이트에 접속할 것이므로 GetMapping을 사용한 것임. 22 | @GetMapping("/") 23 | public String index() { 24 | // 여기서 얻어지는 결론은 25 | // 결국 스프링을 사용하는데 있어 26 | // 데이터를 주고 받기 위해선 전부 json 형태의 처리가 필요함을 알 수 있음. 27 | return "첫번째 스프링 테스트"; 28 | } 29 | } 30 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/basic/qna/QnaRestController.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.basic.qna; 2 | 3 | public class QnaRestController { 4 | } 5 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/basic/second/ResponseTestController.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.basic.second; 2 | 3 | import kr.eddi.demo.entity.basic.second.Member; 4 | import lombok.extern.slf4j.Slf4j; 5 | import org.springframework.stereotype.Controller; 6 | import org.springframework.web.bind.annotation.GetMapping; 7 | import org.springframework.web.bind.annotation.RequestMapping; 8 | import org.springframework.web.bind.annotation.ResponseBody; 9 | 10 | @Slf4j 11 | @Controller 12 | @RequestMapping("/second/response") 13 | public class ResponseTestController { 14 | 15 | // ResponseBody 리턴 결과를 자동으로 json 형태로 처리함 16 | // 그러므로 Controller에서도 json 데이터를 전송할 수 있다. 17 | @ResponseBody 18 | @GetMapping("/member") 19 | public Member responseMember() { 20 | log.info("responseMember() 동작"); 21 | 22 | Member member = new Member(); 23 | member.setUserName("내맘대로할거야"); 24 | member.setPassword("싫어!!!"); 25 | 26 | return member; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/basic/third/ThirdRestController.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.basic.third; 2 | 3 | import kr.eddi.demo.entity.basic.third.ClassRoom; 4 | import lombok.extern.slf4j.Slf4j; 5 | import org.springframework.web.bind.annotation.GetMapping; 6 | import org.springframework.web.bind.annotation.RequestMapping; 7 | import org.springframework.web.bind.annotation.RestController; 8 | 9 | @Slf4j 10 | @RestController 11 | @RequestMapping("/third") 12 | public class ThirdRestController { 13 | 14 | @GetMapping("/homework") 15 | public float calcClassRoomMeanScore() { 16 | log.info("학급의 평균을 계산합니다: calcClassRoomMeanScore()"); 17 | 18 | ClassRoom classRoom = new ClassRoom(); 19 | classRoom.setRoomName("빅데이터 반"); 20 | classRoom.makeRandomStudents(); 21 | classRoom.takeTest(60); 22 | 23 | return classRoom.calcMean(); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/flutter/account/FlutterTestController.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.flutter.account; 2 | 3 | import kr.eddi.demo.controller.flutter.account.request.FlutterRequest; 4 | import lombok.extern.slf4j.Slf4j; 5 | import org.springframework.web.bind.annotation.*; 6 | 7 | @Slf4j 8 | @RestController 9 | @RequestMapping("/flutter-test") 10 | @CrossOrigin(origins = "*", allowedHeaders = "*") 11 | public class FlutterTestController { 12 | 13 | @PostMapping("/login") 14 | public Boolean flutterMemgerLogin (@RequestBody FlutterRequest request) { 15 | log.info("flutterMemberLogin(): " + request); 16 | 17 | return true; 18 | } 19 | 20 | /* 21 | @PostMapping("/login") 22 | public Boolean flutterMemgerLogin ( 23 | @RequestParam("email") String email, 24 | @RequestParam("password") String password) { 25 | 26 | log.info("email: " + email + ", password: " + password); 27 | 28 | return true; 29 | } 30 | */ 31 | } 32 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/flutter/account/request/FlutterRequest.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.flutter.account.request; 2 | 3 | import lombok.Data; 4 | 5 | // 객체를 만들겠다 해놓고 객체 생성 조차 안하고 있었음 6 | @Data 7 | public class FlutterRequest { 8 | 9 | String email; 10 | String password; 11 | } 12 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/jpa/board/request/BoardRequest.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.jpa.board.request; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public class BoardRequest { 7 | private String title; 8 | private String writer; 9 | private String content; 10 | } 11 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/jpa/member/form/MemberLoginForm.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.jpa.member.form; 2 | 3 | import kr.eddi.demo.service.jpa.member.request.MemberLoginRequest; 4 | import kr.eddi.demo.service.jpa.member.request.MemberRegisterRequest; 5 | import lombok.Getter; 6 | import lombok.NoArgsConstructor; 7 | import lombok.Setter; 8 | import lombok.ToString; 9 | 10 | @Getter 11 | @Setter 12 | @ToString 13 | @NoArgsConstructor 14 | public class MemberLoginForm { 15 | 16 | private String email; 17 | private String password; 18 | 19 | public MemberLoginRequest toLoginRequest () { 20 | return new MemberLoginRequest(email, password); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/jpa/member/form/MemberRegisterForm.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.jpa.member.form; 2 | 3 | import kr.eddi.demo.service.jpa.member.request.MemberRegisterRequest; 4 | import lombok.Getter; 5 | import lombok.NoArgsConstructor; 6 | import lombok.Setter; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @Setter 11 | @ToString 12 | @NoArgsConstructor 13 | public class MemberRegisterForm { 14 | 15 | private String email; 16 | private String password; 17 | private String city; 18 | private String street; 19 | private String addressDetail; 20 | private String zipcode; 21 | 22 | public MemberRegisterRequest toMemberRegisterRequest () { 23 | return new MemberRegisterRequest(email, password, city, street, addressDetail, zipcode); 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/product/request/ProductRequest.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.product.request; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public class ProductRequest { 7 | private String productName; 8 | private String seller; 9 | private String productDescription; 10 | private Integer price; 11 | } 12 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/vue/file/request/RequestFileInfo.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.vue.file.request; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | import lombok.NoArgsConstructor; 6 | 7 | @Data 8 | @AllArgsConstructor 9 | @NoArgsConstructor 10 | public class RequestFileInfo { 11 | Integer price; 12 | String test; 13 | } 14 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/vue/rpg/thirtyoneth/RpgCharacterController.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.vue.rpg.thirtyoneth; 2 | 3 | import kr.eddi.demo.entity.vue.rpg.CharacterStatus; 4 | import kr.eddi.demo.entity.vue.rpg.ShopItems; 5 | import lombok.extern.slf4j.Slf4j; 6 | import org.springframework.web.bind.annotation.*; 7 | 8 | import java.util.ArrayList; 9 | import java.util.List; 10 | 11 | @Slf4j 12 | @RestController 13 | @RequestMapping("/37th/rpg-game") 14 | @CrossOrigin(origins = "http://localhost:8080", allowedHeaders = "*") 15 | public class RpgCharacterController { 16 | 17 | public static CharacterStatus characterStatus = new CharacterStatus(); 18 | 19 | @PostMapping("/get-character-status") 20 | public CharacterStatus requestCharacterStatus () { 21 | log.info("requestCharacterStatus()"); 22 | 23 | return characterStatus; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/vue/rpg/thirtyoneth/request/Items.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.vue.rpg.thirtyoneth.request; 2 | 3 | import lombok.Getter; 4 | import lombok.ToString; 5 | 6 | @ToString 7 | @Getter 8 | public class Items { 9 | private Integer atk; 10 | private String description; 11 | private String name; 12 | private Integer price; 13 | } 14 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/vue/rpg/thirtyoneth/request/RequestBuyItem.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.vue.rpg.thirtyoneth.request; 2 | 3 | import lombok.Getter; 4 | import lombok.ToString; 5 | 6 | import java.util.ArrayList; 7 | 8 | @ToString 9 | @Getter 10 | public class RequestBuyItem { 11 | private Integer totalPrice; 12 | private ArrayList itemLists; 13 | } 14 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/vue/thirtieth/AxiosTestController.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.vue.thirtieth; 2 | 3 | import kr.eddi.demo.entity.vue.RandomNumber; 4 | import lombok.extern.slf4j.Slf4j; 5 | import org.springframework.http.HttpStatus; 6 | import org.springframework.http.ResponseEntity; 7 | import org.springframework.web.bind.annotation.*; 8 | 9 | @Slf4j 10 | @RestController 11 | @RequestMapping("/30th/vue2spring") 12 | @CrossOrigin(origins = "http://localhost:8080", allowedHeaders = "*") 13 | public class AxiosTestController { 14 | 15 | @GetMapping("/test") 16 | public RandomNumber getVueDataTest () { 17 | log.info("getVueDataTest()"); 18 | 19 | RandomNumber randomNumber = new RandomNumber(); 20 | 21 | log.info("randomNumber: " + randomNumber); 22 | //return new ResponseEntity<>(randomNumber, HttpStatus.OK); 23 | return randomNumber; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/vue/thirtytwoth/Vue2SpringDataReceiveController.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.vue.thirtytwoth; 2 | 3 | import kr.eddi.demo.controller.vue.thirtytwoth.request.VueRequestTestData; 4 | import lombok.extern.slf4j.Slf4j; 5 | import org.springframework.web.bind.annotation.*; 6 | 7 | @Slf4j 8 | @RestController 9 | @RequestMapping("/32th/vue2spring") 10 | @CrossOrigin(origins = "http://localhost:8080", allowedHeaders = "*") 11 | public class Vue2SpringDataReceiveController { 12 | 13 | @PostMapping("/receive-test") 14 | public void receiveData (@RequestBody VueRequestTestData vueRequestTestData) { 15 | log.info("요청된 데이터 정보: " + vueRequestTestData); 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/controller/vue/thirtytwoth/request/VueRequestTestData.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.controller.vue.thirtytwoth.request; 2 | 3 | import lombok.Getter; 4 | import lombok.ToString; 5 | 6 | @ToString 7 | @Getter 8 | public class VueRequestTestData { 9 | String memberName; 10 | String major; 11 | } 12 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/eighteenth/Apple.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.eighteenth; 2 | 3 | public class Apple implements FoodFeature { 4 | private String description = "멸망한 인간 왕국의 전통 과일중 하나로 맛있고 hp를 50 회복시켜준다."; 5 | 6 | public int eatFood() { 7 | return 50; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/eighteenth/Banana.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.eighteenth; 2 | 3 | public class Banana implements FoodFeature { 4 | private String description = "과거 바나나를 먹으면 인간 왕국 내에서도 부잣집 도련님으로 볼 정도로 귀한 식품이며 hp를 500 회복시켜줍니다."; 5 | 6 | public int eatFood() { 7 | return 500; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/eighteenth/FoodFeature.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.eighteenth; 2 | 3 | public interface FoodFeature { 4 | public int eatFood(); 5 | } 6 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/eighteenth/Fruit.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.eighteenth; 2 | 3 | import lombok.Getter; 4 | 5 | import java.util.HashMap; 6 | import java.util.Map; 7 | 8 | @Getter 9 | public class Fruit { 10 | private Map fruits; 11 | 12 | public Fruit() { 13 | fruits = new HashMap<>(); 14 | 15 | fruits.put("사과", new Apple()); 16 | fruits.put("포도", new Grape()); 17 | fruits.put("바나나", new Banana()); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/eighteenth/Grape.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.eighteenth; 2 | 3 | public class Grape implements FoodFeature { 4 | private String description = "멸망한 인간 왕국의 피로회복제 및 술로 활용되었던 과일중 하나로 hp를 200 회복시켜줍니다."; 5 | 6 | public int eatFood() { 7 | return 200; 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/eighteenth/SyllableNameManager.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.eighteenth; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public class SyllableNameManager { 7 | 8 | private String[] syllables; 9 | private int[] syllablesNumber; 10 | 11 | private final int ERROR = -1; 12 | 13 | public SyllableNameManager(String syllables) { 14 | this.syllables = syllables.split(""); 15 | syllablesNumber = new int[syllables.length()]; 16 | } 17 | 18 | public void analysisSyllables() { 19 | int cnt = 0; 20 | 21 | for (String oneChar: syllables) { 22 | syllablesNumber[cnt++] = matchOneSyllable(oneChar); 23 | } 24 | } 25 | 26 | public int matchOneSyllable(String oneChar) { 27 | 28 | for (SyllableNameMap syllable: SyllableNameMap.values()) { 29 | if (syllable.getName().equals(oneChar)) { 30 | return syllable.getValue(); 31 | } 32 | } 33 | 34 | return ERROR; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/eighteenth/SyllableNameMap.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.eighteenth; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum SyllableNameMap { 7 | Do("도", 1), 8 | Re("레", 2), 9 | Mi("미", 3), 10 | Fa("파", 4), 11 | Sol("솔", 5), 12 | Ra("라", 6), 13 | Si("시", 7); 14 | 15 | private String name; 16 | private int value; 17 | 18 | private SyllableNameMap(String name, int value) { 19 | this.name = name; 20 | this.value = value; 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/eighteenth/SyllableNames.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.eighteenth; 2 | 3 | public enum SyllableNames { 4 | Do, 5 | Re, 6 | Me, 7 | Fa, 8 | Sol, 9 | Ra, 10 | Si 11 | } 12 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/nineth/LottoCard.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.nineth; 2 | 3 | import kr.eddi.demo.utility.basic.third.CustomRandom; 4 | import lombok.Getter; 5 | import lombok.ToString; 6 | 7 | @Getter 8 | @ToString 9 | public class LottoCard { 10 | private int[] numbers; 11 | 12 | private final int LOTTO_NUMBER_LENGTH = 6; 13 | private final int BIAS = 1; 14 | private final int MIN = 0; 15 | private final int MAX = 99 + BIAS; 16 | 17 | public LottoCard() { 18 | numbers = new int[LOTTO_NUMBER_LENGTH]; 19 | } 20 | 21 | public int generateLottoNumber(int curIdx) { 22 | int tmpNum = CustomRandom.makeIntCustomRandom(MIN, MAX); 23 | numbers[curIdx] = tmpNum; 24 | 25 | return tmpNum; 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/nineth/Player.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.nineth; 2 | 3 | import kr.eddi.demo.utility.basic.nineth.NicknameGenerator; 4 | import lombok.Getter; 5 | import lombok.ToString; 6 | 7 | @Getter 8 | @ToString 9 | public class Player { 10 | private LottoCard card; 11 | private String nickName; 12 | 13 | public Player() { 14 | nickName = NicknameGenerator.generateRandomNickname(); 15 | } 16 | 17 | public void acquireLottoCard(LottoCardManager manager, int idx) { 18 | card = manager.getCards().get(idx); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/second/Member.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.second; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | 6 | @Getter 7 | @Setter 8 | // 위의 Getter, Setter가 실제 Lombok에서 제공하는 자동화 기능임. 9 | // 클래스 내부의 변수들을 보고 알아서 Getter와 Setter를 만듬 10 | // 그러나 경우에 따라 커스텀 매서드를 만들어야 할 수도 있으므로 11 | // 실제로 매서드를 만드는 방법에 대해서는 잘 숙지하고 있어야함 12 | public class Member { 13 | private String userName = "eddi"; 14 | private String password = "456123"; 15 | } 16 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/seventh/Score.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.seventh; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | import lombok.ToString; 6 | 7 | @Getter 8 | @Setter 9 | @ToString 10 | public class Score { 11 | private int totalScore; 12 | 13 | public void addScore(int score) { 14 | totalScore += score; 15 | 16 | if (totalScore < 0) { 17 | totalScore = 0; 18 | } 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/sixth/clean/Score.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.sixth.clean; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | 6 | @Getter 7 | @Setter 8 | public class Score { 9 | private int totalScore; 10 | 11 | public void addScore(int score) { 12 | totalScore += score; 13 | 14 | if (totalScore < 0) { 15 | totalScore = 0; 16 | } 17 | } 18 | } 19 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/sixth/dirty/Dice.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.sixth.dirty; 2 | 3 | import kr.eddi.demo.utility.basic.third.CustomRandom; 4 | import lombok.Getter; 5 | 6 | @Getter 7 | public class Dice { 8 | // ??? 뭐지 ? 왜 갑자기 내가 여러명이 된 것이지 ? 9 | // 패러다임 불일치 10 | // 만약 이걸 아름답게 해결하고 싶다면 ? 엎어야한다. 11 | private int[] diceNum; 12 | private final int MIN = 1; 13 | private final int MAX = 6; 14 | private final int DEFAULT = 2; 15 | 16 | Score score; 17 | 18 | // 이건 또 뭐냐 ? 19 | // 얘가 관리하는건 뭐야 ? 20 | public Dice() { 21 | diceNum = new int[DEFAULT]; 22 | score = new Score(); 23 | } 24 | 25 | // ??? 뭐지 ? 26 | public void rollDice() { 27 | int sum = 0; 28 | 29 | for (int i = 0; i < DEFAULT; i++) { 30 | this.diceNum[i] = CustomRandom.makeIntCustomRandom(MIN, MAX); 31 | sum += this.diceNum[i]; 32 | } 33 | 34 | score.setTotalScore(sum); 35 | } 36 | } -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/sixth/dirty/Player.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.sixth.dirty; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public class Player { 7 | private String nickName; 8 | private Dice dice; 9 | private final String ANONYMOUS = "anonymous"; 10 | 11 | public Player(String name) { 12 | nickName = name; 13 | dice = new Dice(); 14 | } 15 | 16 | public Player() { 17 | nickName = ANONYMOUS; 18 | dice = new Dice(); 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/sixth/dirty/Score.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.sixth.dirty; 2 | 3 | import lombok.Getter; 4 | import lombok.Setter; 5 | 6 | @Getter 7 | @Setter 8 | public class Score { 9 | private int totalScore; 10 | } 11 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/third/Score.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.third; 2 | 3 | import kr.eddi.demo.utility.basic.third.CustomRandom; 4 | import lombok.Getter; 5 | import lombok.Setter; 6 | 7 | import java.util.Random; 8 | 9 | @Getter 10 | @Setter 11 | public class Score { 12 | private int score; 13 | private Random random; 14 | private final int MIN = 0; 15 | private final int MAX = 100; 16 | 17 | public void makeRandomScore() { 18 | score = CustomRandom.makeIntCustomRandom(MIN, MAX); 19 | } 20 | 21 | public void makeRandomScore(int min) { 22 | score = CustomRandom.makeIntCustomRandom(min, MAX); 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/twelveth/CardCharacter.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.twelveth; 2 | 3 | public enum CardCharacter { 4 | KING, 5 | QUEEN, 6 | JACK, 7 | TEN, 8 | NINE, 9 | EIGHT, 10 | SEVEN, 11 | SIX, 12 | FIVE, 13 | FOUR, 14 | THREE, 15 | TWO, 16 | ACE, 17 | } 18 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/twelveth/CardShape.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.twelveth; 2 | 3 | public enum CardShape { 4 | SPADE, 5 | DIAMOND, 6 | HEART, 7 | CLOVER 8 | } 9 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/twelveth/Pattern.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.twelveth; 2 | 3 | public enum Pattern { 4 | HIGH_CARD, 5 | ONE_PAIR, 6 | TWO_PAIR, 7 | TRIPPLE, 8 | STRAIGHT, 9 | FLUSH, 10 | FULL_HOUSE, 11 | FOUR_CARD, 12 | STRAIGHT_FLUSH, 13 | ROYAL_FLUSH 14 | } 15 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/twelveth/Player.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.twelveth; 2 | 3 | import kr.eddi.demo.utility.basic.twelveth.UserInput; 4 | import lombok.ToString; 5 | 6 | import java.util.ArrayList; 7 | import java.util.LinkedHashMap; 8 | import java.util.List; 9 | import java.util.Map; 10 | 11 | @ToString 12 | public class Player { 13 | private List> cardsDeck; 14 | 15 | public Player() { 16 | cardsDeck = new ArrayList<>(); 17 | } 18 | 19 | public void acquireNewCards(Map newCardDeck) { 20 | //System.out.println("newCardDeck: " + newCardDeck); 21 | 22 | cardsDeck.add(newCardDeck); 23 | } 24 | 25 | public Map publishingPlayersCard() { 26 | System.out.println("현재 손패입니다"); 27 | System.out.println(cardsDeck); 28 | System.out.print("공개할 카드를 선택하세요: "); 29 | 30 | UserInput.inputIntKeyBoard(); 31 | return cardsDeck.get(UserInput.getSelectedNumber()); 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/twelveth/PockerCardCharacter.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.twelveth; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum PockerCardCharacter { 7 | KING("K", 13), 8 | QUEEN("Q", 12), 9 | JACK("J", 11), 10 | TEN("10", 10), 11 | NINE("9", 9), 12 | EIGHT("8", 8), 13 | SEVEN("7", 7), 14 | SIX("6", 6), 15 | FIVE("5", 5), 16 | FOUR("4", 4), 17 | THREE("3", 3), 18 | TWO("2", 2), 19 | ACE("1", 1); 20 | 21 | private final String name; 22 | private final int value; 23 | 24 | private PockerCardCharacter(String name, int value) { 25 | this.name = name; 26 | this.value = value; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/twelveth/PockerCardPattern.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.twelveth; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum PockerCardPattern { 7 | HIGH_CARD("하이카드", 1), 8 | ONE_PAIR("원페어", 2), 9 | TWO_PAIR("투페어", 3), 10 | TRIPPLE("트리플", 4), 11 | STRAIGHT("스트레이트", 5), 12 | FLUSH("플러쉬", 6), 13 | FULL_HOUSE("풀 하우스", 7), 14 | FOUR_CARD("포카드", 8), 15 | STRAIGHT_FLUSH("스트레이트 플러쉬", 9), 16 | ROYAL_FLUSH("로열 플러쉬", 10); 17 | 18 | private final String name; 19 | private final int value; 20 | 21 | private PockerCardPattern(String name, int value) { 22 | this.name = name; 23 | this.value = value; 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/twelveth/PockerCardShape.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.twelveth; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public enum PockerCardShape { 7 | SPADE("스페이드", 1), 8 | DIAMOND("다이아몬드", 2), 9 | HEART("하트", 3), 10 | CLOVER("클로버", 4); 11 | 12 | private final String name; 13 | private final int value; 14 | 15 | private PockerCardShape(String name, int value) { 16 | this.name = name; 17 | this.value = value; 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/basic/twelveth/RoundManager.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.basic.twelveth; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public class RoundManager { 7 | 8 | private int currentRound; 9 | 10 | public RoundManager() { 11 | currentRound = 0; 12 | } 13 | 14 | public void playPockerGame(PlayerManager playerManager) { 15 | System.out.println("현재 라운드: " + currentRound); 16 | // 6. 라운드를 시작한다. 17 | playerManager.playPockerGame(currentRound++); 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/jpa/boards/Board.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.jpa.boards; 2 | 3 | import lombok.Data; 4 | import org.hibernate.annotations.CreationTimestamp; 5 | import org.hibernate.annotations.UpdateTimestamp; 6 | 7 | import javax.persistence.*; 8 | import java.util.Date; 9 | 10 | @Data 11 | @Entity 12 | public class Board { 13 | @Id 14 | @GeneratedValue(strategy = GenerationType.IDENTITY) 15 | private Long boardNo; 16 | 17 | @Column(length = 128, nullable = false) 18 | private String title; 19 | 20 | @Column(length = 32, nullable = false) 21 | private String writer; 22 | 23 | @Lob 24 | private String content; 25 | 26 | @CreationTimestamp 27 | private Date regDate; 28 | 29 | @UpdateTimestamp 30 | private Date updDate; 31 | } 32 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/jpa/member/Address.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.jpa.member; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Getter; 5 | import lombok.NoArgsConstructor; 6 | 7 | import javax.persistence.Column; 8 | import javax.persistence.Embeddable; 9 | 10 | @Getter 11 | @Embeddable 12 | @NoArgsConstructor 13 | @AllArgsConstructor 14 | public class Address { 15 | 16 | @Column(nullable = false) 17 | private String city; 18 | 19 | @Column(nullable = false) 20 | private String street; 21 | 22 | @Column(nullable = false) 23 | private String addressDetail; 24 | 25 | @Column(nullable = false) 26 | private String zipcode; 27 | 28 | public static Address of(String city, String street, String addressDetail, String zipcode) { 29 | return new Address(city, street, addressDetail, zipcode); 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/jpa/member/BasicAuthentication.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.jpa.member; 2 | 3 | import kr.eddi.demo.utility.encrypt.EncryptionUtil; 4 | import kr.eddi.demo.utility.password.PasswordHashConverter; 5 | import lombok.NoArgsConstructor; 6 | import lombok.Setter; 7 | import lombok.ToString; 8 | 9 | import javax.persistence.*; 10 | 11 | @Entity 12 | @ToString(callSuper = true) 13 | @NoArgsConstructor 14 | @DiscriminatorValue(Authentication.BASIC_AUTH) 15 | public class BasicAuthentication extends Authentication { 16 | 17 | @Setter 18 | @Column(nullable = false) 19 | @Convert(converter = PasswordHashConverter.class) 20 | private String password; 21 | 22 | public BasicAuthentication(JpaMember member, String authenticationType, String password) { 23 | super(member, authenticationType); 24 | this.password = password; 25 | } 26 | 27 | public boolean isRightPassword(String plainToCheck) { 28 | return EncryptionUtil.checkValidation(plainToCheck, password); 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/jpa/member/MemberProfile.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.jpa.member; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.NoArgsConstructor; 5 | 6 | import javax.persistence.*; 7 | 8 | @Entity 9 | @AllArgsConstructor 10 | @NoArgsConstructor 11 | public class MemberProfile { 12 | 13 | @Id 14 | @GeneratedValue(strategy = GenerationType.IDENTITY) 15 | private Long id = null; 16 | 17 | @Embedded 18 | private Address address; 19 | 20 | @OneToOne(fetch = FetchType.LAZY) 21 | @JoinColumn(name = "member_id") 22 | private JpaMember member; 23 | 24 | private MemberProfile(Address address) { 25 | this.address = address; 26 | } 27 | 28 | public static MemberProfile of (String city, String street, String addressDetail, String zipcode) { 29 | final Address address = Address.of(city, street, addressDetail, zipcode); 30 | return new MemberProfile(address); 31 | } 32 | 33 | public void setMember (JpaMember member) { 34 | this.member = member; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/products/Product.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.products; 2 | 3 | import lombok.Data; 4 | import org.hibernate.annotations.CreationTimestamp; 5 | import org.hibernate.annotations.UpdateTimestamp; 6 | 7 | import javax.persistence.*; 8 | import java.util.Date; 9 | 10 | @Data 11 | @Entity 12 | public class Product { 13 | @Id 14 | @GeneratedValue(strategy = GenerationType.IDENTITY) 15 | private Long productNo; 16 | 17 | @Column(length = 128, nullable = false) 18 | private String productName; 19 | 20 | @Column(length = 32, nullable = false) 21 | private String seller; 22 | 23 | @Lob 24 | private String productDescription; 25 | 26 | @Column(nullable = false) 27 | private Integer price; 28 | 29 | @CreationTimestamp 30 | private Date regDate; 31 | 32 | @UpdateTimestamp 33 | private Date updDate; 34 | } 35 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/python/PythonProduct.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.python; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Data; 5 | 6 | @Data 7 | @AllArgsConstructor 8 | public class PythonProduct { 9 | 10 | private Long cost; 11 | } 12 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/test/ClassRoom.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.test; 2 | 3 | import lombok.Data; 4 | import lombok.NoArgsConstructor; 5 | 6 | import javax.persistence.*; 7 | 8 | @Data 9 | @Entity 10 | @NoArgsConstructor 11 | public class ClassRoom { 12 | 13 | @Id 14 | @Column(name = "class_room_id") 15 | @GeneratedValue(strategy = GenerationType.IDENTITY) 16 | private Long classRoomId; 17 | 18 | private String roomName; 19 | 20 | public ClassRoom (String roomName) { 21 | this.roomName = roomName; 22 | } 23 | } 24 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/test/Comment.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.test; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import javax.persistence.*; 9 | 10 | @Data 11 | @Entity 12 | @Builder 13 | @NoArgsConstructor 14 | @AllArgsConstructor 15 | public class Comment { 16 | @Id 17 | @GeneratedValue(strategy = GenerationType.IDENTITY) 18 | private Long id; 19 | 20 | private String content; 21 | 22 | @ManyToOne(fetch = FetchType.EAGER) 23 | @JoinColumn(name = "board_id") 24 | private TestBoard testBoard; 25 | 26 | public Comment (String content) { 27 | this.content = content; 28 | } 29 | 30 | public void modifyContent (String content) { 31 | this.content = content; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/test/MemberTest.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.test; 2 | 3 | import lombok.Data; 4 | import lombok.NoArgsConstructor; 5 | import org.hibernate.annotations.CreationTimestamp; 6 | import org.hibernate.annotations.UpdateTimestamp; 7 | 8 | import javax.persistence.*; 9 | import java.util.Date; 10 | 11 | @Data 12 | @Entity 13 | @NoArgsConstructor 14 | public class MemberTest { 15 | 16 | @Id 17 | @GeneratedValue(strategy = GenerationType.IDENTITY) 18 | private Long memberNo; 19 | 20 | @Column(length = 20, nullable = false) 21 | private String id; 22 | 23 | @Column(length = 20, nullable = false) 24 | private String pw; 25 | 26 | @CreationTimestamp 27 | private Date createdDate; 28 | 29 | @UpdateTimestamp 30 | private Date lastModifiedDate; 31 | 32 | public MemberTest (String id, String pw) { 33 | this.id = id; 34 | this.pw = pw; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/test/TestBoard.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.test; 2 | 3 | import lombok.AllArgsConstructor; 4 | import lombok.Builder; 5 | import lombok.Data; 6 | import lombok.NoArgsConstructor; 7 | 8 | import javax.persistence.*; 9 | import java.util.ArrayList; 10 | import java.util.List; 11 | 12 | @Data 13 | @Entity 14 | @Builder 15 | @NoArgsConstructor 16 | @AllArgsConstructor 17 | public class TestBoard { 18 | @Id 19 | @Column(name = "board_id") 20 | @GeneratedValue(strategy = GenerationType.IDENTITY) 21 | private Long id; 22 | 23 | private String title; 24 | private String content; 25 | 26 | @OneToMany(mappedBy = "testBoard", fetch = FetchType.EAGER) 27 | private List comments = new ArrayList<>(); 28 | 29 | public TestBoard (String title, String content) { 30 | this.title = title; 31 | this.content = content; 32 | } 33 | 34 | public void setComment (Comment comment) { 35 | comments.add(comment); 36 | comment.setTestBoard(this); 37 | } 38 | } 39 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/test/TestStudent.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.test; 2 | 3 | import lombok.Data; 4 | import lombok.NoArgsConstructor; 5 | 6 | import javax.persistence.*; 7 | 8 | @Data 9 | @Entity 10 | @NoArgsConstructor 11 | public class TestStudent { 12 | 13 | @Id 14 | @GeneratedValue(strategy = GenerationType.IDENTITY) 15 | private Long studentId; 16 | 17 | private String name; 18 | 19 | @ManyToOne 20 | @JoinColumn(name = "class_room_id") 21 | private ClassRoom classRoom; 22 | 23 | public TestStudent (String name) { 24 | this.name = name; 25 | } 26 | 27 | public void setClassRoom(ClassRoom classRoom) { 28 | this.classRoom = classRoom; 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/test/response/CommentResponse.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.test.response; 2 | 3 | import lombok.Data; 4 | 5 | @Data 6 | public class CommentResponse { 7 | private String comment; 8 | 9 | public CommentResponse (String comment) { 10 | this.comment = comment; 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/vue/RandomNumber.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.vue; 2 | 3 | import kr.eddi.demo.utility.basic.third.CustomRandom; 4 | import lombok.Getter; 5 | import lombok.ToString; 6 | 7 | @Getter 8 | @ToString 9 | public class RandomNumber { 10 | private int randomNumber; 11 | 12 | public RandomNumber () { 13 | randomNumber = CustomRandom.makeIntCustomRandom(1, 10); 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/entity/vue/rpg/ShopItems.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.entity.vue.rpg; 2 | 3 | import lombok.Getter; 4 | 5 | @Getter 6 | public class ShopItems { 7 | private String name; 8 | private Integer price; 9 | private String description; 10 | private Integer atk; 11 | private String recover; 12 | 13 | public ShopItems (String name, Integer price, String description, Integer atk) { 14 | this.name = name; 15 | this.price = price; 16 | this.description = description; 17 | this.atk = atk; 18 | } 19 | 20 | public ShopItems (String name, Integer price, String description, String recover) { 21 | this.name = name; 22 | this.price = price; 23 | this.description = description; 24 | this.recover = recover; 25 | } 26 | } 27 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/repository/board/BoardRepository.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.repository.board; 2 | 3 | import kr.eddi.demo.entity.jpa.boards.Board; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | public interface BoardRepository extends JpaRepository { 7 | } 8 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/repository/member/AuthenticationRepository.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.repository.member; 2 | 3 | import kr.eddi.demo.entity.jpa.member.Authentication; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | public interface AuthenticationRepository extends JpaRepository { 7 | } 8 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/repository/member/MemberRepository.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.repository.member; 2 | 3 | import kr.eddi.demo.entity.jpa.member.JpaMember; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.data.jpa.repository.Query; 6 | 7 | import java.util.Optional; 8 | 9 | public interface MemberRepository extends JpaRepository { 10 | 11 | @Query("select m from JpaMember m join fetch m.authentications where m.email = :email") 12 | Optional findByEmail(String email); 13 | } 14 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/repository/products/ProductRepository.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.repository.products; 2 | 3 | import kr.eddi.demo.entity.products.Product; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | public interface ProductRepository extends JpaRepository { 7 | } 8 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/repository/test/ClassRoomRepository.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.repository.test; 2 | 3 | import kr.eddi.demo.entity.test.ClassRoom; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | public interface ClassRoomRepository extends JpaRepository { 7 | } 8 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/repository/test/CommentRepository.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.repository.test; 2 | 3 | import kr.eddi.demo.entity.test.Comment; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.data.jpa.repository.Query; 6 | 7 | import java.util.List; 8 | 9 | public interface CommentRepository extends JpaRepository { 10 | 11 | @Query("select c from Comment c join c.testBoard tb where tb.id = :boardId") 12 | List findAllCommentsByBoardId(Long boardId); 13 | } 14 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/repository/test/MemberTestRepository.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.repository.test; 2 | 3 | import kr.eddi.demo.entity.test.MemberTest; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | public interface MemberTestRepository extends JpaRepository { 7 | } 8 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/repository/test/TestBoardRepository.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.repository.test; 2 | 3 | import kr.eddi.demo.entity.test.TestBoard; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | 6 | public interface TestBoardRepository extends JpaRepository { 7 | } 8 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/repository/test/TestStudentRepository.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.repository.test; 2 | 3 | import kr.eddi.demo.entity.test.TestStudent; 4 | import org.springframework.data.jpa.repository.JpaRepository; 5 | import org.springframework.data.jpa.repository.Query; 6 | 7 | import java.util.List; 8 | import java.util.Optional; 9 | 10 | public interface TestStudentRepository extends JpaRepository { 11 | 12 | @Query("select ts from TestStudent ts join ts.classRoom cr where cr.roomName = :roomName") 13 | Optional findTestStudentByRoomName (String roomName); 14 | 15 | @Query("select ts from TestStudent ts join ts.classRoom cr where cr.roomName = :roomName") 16 | List findTestStudentListByRoomName (String roomName); 17 | } 18 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/service/jpa/board/BoardService.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.service.jpa.board; 2 | 3 | import kr.eddi.demo.controller.jpa.board.request.BoardRequest; 4 | import kr.eddi.demo.entity.jpa.boards.Board; 5 | 6 | import java.util.List; 7 | 8 | public interface BoardService { 9 | public void register(BoardRequest boardRequest); 10 | public List list(); 11 | public Board read(Long boardNo); 12 | public void modify(Board board); 13 | public void remove(Long boardNo); 14 | } 15 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/service/jpa/member/JpaMemberService.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.service.jpa.member; 2 | 3 | import kr.eddi.demo.service.jpa.member.request.MemberLoginRequest; 4 | import kr.eddi.demo.service.jpa.member.request.MemberRegisterRequest; 5 | 6 | public interface JpaMemberService { 7 | Boolean signUp(MemberRegisterRequest request); 8 | Boolean emailValidation(String email); 9 | String signIn(MemberLoginRequest request); 10 | } 11 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/service/jpa/member/request/MemberLoginRequest.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.service.jpa.member.request; 2 | 3 | import kr.eddi.demo.entity.jpa.member.JpaMember; 4 | import kr.eddi.demo.entity.jpa.member.MemberProfile; 5 | import lombok.Getter; 6 | import lombok.RequiredArgsConstructor; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString 11 | @RequiredArgsConstructor 12 | public class MemberLoginRequest { 13 | 14 | private final String email; 15 | private final String password; 16 | } 17 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/service/jpa/member/request/MemberRegisterRequest.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.service.jpa.member.request; 2 | 3 | import kr.eddi.demo.entity.jpa.member.JpaMember; 4 | import kr.eddi.demo.entity.jpa.member.MemberProfile; 5 | import lombok.Getter; 6 | import lombok.RequiredArgsConstructor; 7 | import lombok.ToString; 8 | 9 | @Getter 10 | @ToString 11 | @RequiredArgsConstructor 12 | public class MemberRegisterRequest { 13 | 14 | private final String email; 15 | private final String password; 16 | 17 | private final String city; 18 | private final String street; 19 | private final String addressDetail; 20 | private final String zipcode; 21 | 22 | public JpaMember toMember () { 23 | return new JpaMember( 24 | email, 25 | MemberProfile.of(city, street, addressDetail, zipcode) 26 | ); 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/service/products/ProductService.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.service.products; 2 | 3 | import kr.eddi.demo.controller.product.request.ProductRequest; 4 | import kr.eddi.demo.entity.products.Product; 5 | 6 | import java.util.List; 7 | 8 | public interface ProductService { 9 | public void register(ProductRequest productRequest); 10 | public List list(); 11 | public Product read(Long productNo); 12 | public void modify(Product product); 13 | public void remove(Long productNo); 14 | } 15 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/service/security/RedisService.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.service.security; 2 | 3 | public interface RedisService { 4 | public void setKeyAndValue(String token, Long memNo); 5 | public Long getValueByKey(String token); 6 | public void deleteByKey(String token); 7 | } 8 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/utility/basic/seventh/SpecialDiceOption.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.utility.basic.seventh; 2 | 3 | // 주사위를 굴릴 것임 4 | // 근데 주사위 숫자에 규칙은 있을 수도 없을 수도 있고 5 | // 특정 규칙이 존재한다면 해당 규칙은 상황에 따라 바뀔 수도 있을 것이다. 6 | // A 게임사, B 게임사, C 게임사, D 카지노, E 카지노 등등 7 | 8 | // 이렇게 규칙이 바뀌는 상황에서도 일관된 처리를 유지하고자 하는 경우 9 | // 사용하는 방식이 바로 interface(인터페이스)에 해당한다. 10 | 11 | import kr.eddi.demo.entity.basic.seventh.Player; 12 | 13 | import java.util.List; 14 | 15 | // interface는 매서드 프로토타입만 작성한다. 16 | // 프로토타입: 리턴타입, 매서드 이름, 파라메터 17 | public interface SpecialDiceOption { 18 | public void checkSpecialDice(List players, int diceNum, int playerIdx); 19 | } 20 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/utility/basic/sixth/clean/SpecialDiceOption.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.utility.basic.sixth.clean; 2 | 3 | // 주사위를 굴릴 것임 4 | // 근데 주사위 숫자에 규칙은 있을 수도 없을 수도 있고 5 | // 특정 규칙이 존재한다면 해당 규칙은 상황에 따라 바뀔 수도 있을 것이다. 6 | // A 게임사, B 게임사, C 게임사, D 카지노, E 카지노 등등 7 | 8 | // 이렇게 규칙이 바뀌는 상황에서도 일관된 처리를 유지하고자 하는 경우 9 | // 사용하는 방식이 바로 interface(인터페이스)에 해당한다. 10 | 11 | import kr.eddi.demo.entity.basic.sixth.clean.Player; 12 | 13 | // interface는 매서드 프로토타입만 작성한다. 14 | // 프로토타입: 리턴타입, 매서드 이름, 파라메터 15 | public interface SpecialDiceOption { 16 | public void checkSpecialDice(Player player[], int diceNum, int playerIdx); 17 | } 18 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/utility/basic/sixth/clean/company2/Dice.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.utility.basic.sixth.clean.company2; 2 | 3 | import kr.eddi.demo.entity.basic.sixth.clean.Player; 4 | import kr.eddi.demo.utility.basic.sixth.clean.SpecialDiceOption; 5 | import kr.eddi.demo.utility.basic.third.CustomRandom; 6 | 7 | // 인터페이스는 상속하지 않고 구현한다고 한다. 8 | // 왜냐하면 매서드가 작성되어 있지 않기 때문에 9 | // implements 하는 클래스에서 매서드를 구현해줘야 한다. 10 | public class Dice implements SpecialDiceOption { 11 | private static final int MIN = 1; 12 | private static final int MAX = 6; 13 | 14 | public static int rollDice() { 15 | return CustomRandom.makeIntCustomRandom(MIN, MAX); 16 | } 17 | 18 | @Override 19 | public void checkSpecialDice(Player player[], int diceNum, int playerIdx) { 20 | 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/utility/basic/third/CustomRandom.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.utility.basic.third; 2 | 3 | import java.util.Random; 4 | 5 | public class CustomRandom { 6 | 7 | public static int makeIntCustomRandom(int min, int max) { 8 | Random random = new Random(); 9 | return random.nextInt(max - min) + min; 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/utility/basic/twelveth/BettingMoneyManager.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.utility.basic.twelveth; 2 | 3 | public class BettingMoneyManager { 4 | 5 | private static int totalBetMoney = 0; 6 | 7 | public static void betMoney(int betMoney) { 8 | totalBetMoney += betMoney; 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/utility/basic/twelveth/UserInput.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.utility.basic.twelveth; 2 | 3 | import java.util.Scanner; 4 | 5 | public class UserInput { 6 | public static Scanner scan = new Scanner(System.in); 7 | public static Integer selectedNumber; 8 | 9 | public static void inputIntKeyBoard() { 10 | selectedNumber = scan.nextInt(); 11 | } 12 | 13 | public static Integer getSelectedNumber() { 14 | return selectedNumber; 15 | } 16 | } 17 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/utility/encrypt/exception/UnableToGenerateHash.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.utility.encrypt.exception; 2 | 3 | public class UnableToGenerateHash extends RuntimeException { 4 | 5 | public UnableToGenerateHash(String message) { 6 | super(message); 7 | } 8 | 9 | public UnableToGenerateHash(String message, Throwable cause) { 10 | super(message, cause); 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /spring/demo/src/main/java/kr/eddi/demo/utility/password/PasswordHashConverter.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo.utility.password; 2 | 3 | import kr.eddi.demo.utility.encrypt.EncryptionUtil; 4 | 5 | import javax.persistence.AttributeConverter; 6 | import javax.persistence.Converter; 7 | 8 | @Converter 9 | public class PasswordHashConverter implements AttributeConverter { 10 | 11 | @Override 12 | public String convertToDatabaseColumn(String attribute) { 13 | return EncryptionUtil.generateHash(attribute); 14 | } 15 | 16 | @Override 17 | public String convertToEntityAttribute(String dbData) { 18 | return dbData; 19 | } 20 | } 21 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/application.yaml: -------------------------------------------------------------------------------- 1 | 2 | server: 3 | port: 7777 4 | 5 | spring: 6 | datasource: 7 | url: jdbc:mysql://localhost:3306/jpa_test_db?allowpublickeyretrieval=true&usessl=false&serverTimezone=UTC 8 | username: eddi 9 | password: eddi@123 10 | driver-class-name: com.mysql.cj.jdbc.Driver 11 | dialect: org.hibernate.dialect.MySQL8Dialect 12 | 13 | cache: 14 | type: redis 15 | 16 | redis: 17 | host: 127.0.0.1 18 | port: 6379 19 | 20 | jpa: 21 | open-in-view: false 22 | database: mysql 23 | show-sql: true 24 | generate-ddl: true 25 | hibernate: 26 | ddl-auto: update 27 | 28 | servlet: 29 | multipart: 30 | maxFileSize: 10MB 31 | maxRequestSize: 10MB -------------------------------------------------------------------------------- /spring/demo/src/main/resources/static/css/checkbox-list.css: -------------------------------------------------------------------------------- 1 | ul { 2 | list-style: none; 3 | } 4 | li { 5 | margin: 20px; 6 | } -------------------------------------------------------------------------------- /spring/demo/src/main/resources/static/css/display-method-test-style.css: -------------------------------------------------------------------------------- 1 | span.intest { 2 | display: inline; 3 | width: 100px; 4 | height: 100px; 5 | padding: 5px; 6 | border: 1px solid blue; 7 | background-color: darkcyan; 8 | } 9 | span.inblock { 10 | display: inline-block; 11 | width: 100px; 12 | height: 100px; 13 | padding: 5px; 14 | border: 1px solid blue; 15 | background-color: darkcyan; 16 | } 17 | span.b { 18 | display: block; 19 | width: 100px; 20 | height: 100px; 21 | padding: 5px; 22 | border: 1px solid blue; 23 | background-color: darkcyan; 24 | } -------------------------------------------------------------------------------- /spring/demo/src/main/resources/static/css/login-form-test.css: -------------------------------------------------------------------------------- 1 | ul { 2 | list-style: none; 3 | } 4 | li { 5 | margin: 20px; 6 | } 7 | li label { 8 | width: 80px; 9 | float: left; 10 | } 11 | fieldset { 12 | margin: 15px; 13 | } -------------------------------------------------------------------------------- /spring/demo/src/main/resources/static/css/number-form-test.css: -------------------------------------------------------------------------------- 1 | form ul li { 2 | list-style: none; 3 | margin: 20px; 4 | } 5 | form label { 6 | width: 150px; 7 | float: left; 8 | } 9 | fieldset { 10 | margin: 15px; 11 | } -------------------------------------------------------------------------------- /spring/demo/src/main/resources/static/img/ff6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/spring/demo/src/main/resources/static/img/ff6.jpg -------------------------------------------------------------------------------- /spring/demo/src/main/resources/static/img/link1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/spring/demo/src/main/resources/static/img/link1.jpeg -------------------------------------------------------------------------------- /spring/demo/src/main/resources/static/img/marioworld.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/spring/demo/src/main/resources/static/img/marioworld.png -------------------------------------------------------------------------------- /spring/demo/src/main/resources/static/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "static", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/first/whatTimeIsIt.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

안녕 난 스프링이야!

9 | 11 |

12 | 13 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/nineteenth/color-style.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

Color Style

9 | 10 |

Python, Test

11 | 12 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/nineteenth/font.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

폰트 테스트

9 | 10 |

Javascript, Java, HTML, CSS

11 |

Vue, React, Svelte,
12 | JPA

13 | 14 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/nineteenth/img-tag.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

img 태그 테스트

9 | 10 | 11 |

잘 들어갔는가 ?

12 | 13 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/nineteenth/list-tag.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

웹 HTML 기초

9 |

크기 테스트

10 | 11 |
    12 |
  • HTML
  • 13 |
  • Java
  • 14 |
  • CSS
  • 15 |
  • HTML
  • 16 |
17 |
    18 |
  1. HTML
  2. 19 |
  3. Java
  4. 20 |
  5. CSS
  6. 21 |
  7. HTML
  8. 22 |
23 | 24 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/nineteenth/table-test1.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 |
1 row 1 column1 row 2 column1 row 3 column
testtesttest
20 | 21 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/nineteenth/table-test2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 |
1 row 1 column1 row 2 column1 row 3 column
testtesttest
29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/nineteenth/table-test3.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 |
NameContact
Address
Self Introduction
39 | 40 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "basic", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/second/board/delete.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

게시물 삭제

9 | 10 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/second/board/list.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

게시물 리스트 보기

9 | 10 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/second/board/modify.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

게시물 수정

9 | 10 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/second/board/read.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

게시물 읽기

9 |

10 | 11 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/second/board/register.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

게시물 등록

9 | 10 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/second/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

안녕 스프링 두번째 시간이야!

9 |

10 | 11 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/twentieth/checkbox-test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 |

코스(다중 선택 가능)

10 | 11 |
    12 |
  • 영문법
  • 13 |
  • 수학
  • 14 |
  • 15 |
  • 임베디드
  • 16 |
17 | 18 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/twentieth/display-method-with-css.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 |

디스플레이 방식 테스트(inline, inline-block, block)

10 | 11 |
12 | Test Test Test Test 13 |
14 |
15 | Test Test Test Test 16 |
17 | 18 |
19 | Test Test Test Test 20 |
21 | 22 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/twentieth/drop-down-btn-test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |
9 |
10 | 드롭 다운 메뉴 테스트 11 |
    12 |
  • 13 | 14 | 22 |
  • 23 |
24 |
25 |
26 | 27 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/twentieth/form-test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 |
14 | 15 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/twentieth/hyperlink-test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

하이퍼링크 테스트

9 | Golang 10 |

이미지 하이퍼링크 테스트

11 | 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/twentieth/img-caption-test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 19 | 20 | 21 |

img 태그 테스트

22 | 23 |
24 | 25 | 26 | 27 | 닌텐도 64 시절의 추억돋는 짤들 (슈퍼 마리오, 젤다의 전설: 시간의 오카리나) 28 |
29 | 30 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/twentieth/img-size-test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

img 태그 테스트

9 | 10 | 11 | 12 |

잘 들어갔는가 ?

13 | 14 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/twentieth/login-form-test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 |
10 |
11 | 로그인 테스트 Form 12 |
    13 |
  • 14 | 15 | 16 |
  • 17 |
  • 18 | 19 | 20 |
  • 21 |
22 |
23 |
24 | 25 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/twentieth/login-form-test2.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 |
10 |
11 | 로그인 테스트 Form 12 |
    13 |
  • 14 | 15 | 16 |
  • 17 |
  • 18 | 19 | 20 |
  • 21 |
  • 22 | 23 |
  • 24 |
25 |
26 |
27 | 28 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/twentieth/number-form-test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 |
10 |
11 | 숫자 Form 테스트 12 |
    13 |
  • 14 | 15 | 16 |
  • 17 |
  • 18 | 19 | 20 |
  • 21 |
22 |
23 |
24 | 25 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/basic/twentieth/radio-btn-test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 | 9 |

코스(다중 선택 불가능)

10 | 11 |
    12 |
  • 13 | 14 | 영문법 15 |
  • 16 |
  • 17 | 18 |
  • 19 |
  • 20 | 21 |
  • 22 |
  • 23 | 24 |
  • 25 |
26 | 27 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "templates", 3 | "version": "1.0.0", 4 | "dependencies": { 5 | } 6 | } 7 | -------------------------------------------------------------------------------- /spring/demo/src/main/resources/templates/python/pyResult.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Title 6 | 7 | 8 |

파이썬 요청기(Requester) 테스트

9 |

10 | 11 | -------------------------------------------------------------------------------- /spring/demo/src/test/java/kr/eddi/demo/DemoApplicationTests.java: -------------------------------------------------------------------------------- 1 | package kr.eddi.demo; 2 | 3 | import kr.eddi.demo.entity.test.MemberTest; 4 | import kr.eddi.demo.repository.test.MemberTestRepository; 5 | import org.junit.jupiter.api.Test; 6 | import org.springframework.beans.factory.annotation.Autowired; 7 | import org.springframework.boot.test.context.SpringBootTest; 8 | 9 | @SpringBootTest 10 | class DemoApplicationTests { 11 | 12 | @Autowired 13 | private MemberTestRepository repository; 14 | 15 | @Test 16 | void registerMemberTest() { 17 | MemberTest memberTest = new MemberTest("test", "gogosing"); 18 | 19 | repository.save(memberTest); 20 | } 21 | 22 | } 23 | -------------------------------------------------------------------------------- /vue/frontend/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules 3 | /dist 4 | 5 | 6 | # local env files 7 | .env.local 8 | .env.*.local 9 | 10 | # Log files 11 | npm-debug.log* 12 | yarn-debug.log* 13 | yarn-error.log* 14 | pnpm-debug.log* 15 | 16 | # Editor directories and files 17 | .idea 18 | .vscode 19 | *.suo 20 | *.ntvs* 21 | *.njsproj 22 | *.sln 23 | *.sw? 24 | -------------------------------------------------------------------------------- /vue/frontend/README.md: -------------------------------------------------------------------------------- 1 | # frontend 2 | 3 | ## Project setup 4 | ``` 5 | npm install 6 | ``` 7 | 8 | ### Compiles and hot-reloads for development 9 | ``` 10 | npm run serve 11 | ``` 12 | 13 | ### Compiles and minifies for production 14 | ``` 15 | npm run build 16 | ``` 17 | 18 | ### Lints and fixes files 19 | ``` 20 | npm run lint 21 | ``` 22 | 23 | ### Customize configuration 24 | See [Configuration Reference](https://cli.vuejs.org/config/). 25 | -------------------------------------------------------------------------------- /vue/frontend/babel.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | presets: [ 3 | '@vue/cli-plugin-babel/preset' 4 | ] 5 | } 6 | -------------------------------------------------------------------------------- /vue/frontend/jsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "target": "es5", 4 | "module": "esnext", 5 | "baseUrl": "./", 6 | "moduleResolution": "node", 7 | "paths": { 8 | "@/*": [ 9 | "src/*" 10 | ] 11 | }, 12 | "lib": [ 13 | "esnext", 14 | "dom", 15 | "dom.iterable", 16 | "scripthost" 17 | ] 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /vue/frontend/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/vue/frontend/public/favicon.ico -------------------------------------------------------------------------------- /vue/frontend/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | <%= htmlWebpackPlugin.options.title %> 9 | 10 | 11 | 12 | 13 | 14 | 17 |
18 | 19 | 20 | 21 | -------------------------------------------------------------------------------- /vue/frontend/src/App.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 19 | -------------------------------------------------------------------------------- /vue/frontend/src/assets/img/mario.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/vue/frontend/src/assets/img/mario.png -------------------------------------------------------------------------------- /vue/frontend/src/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/vue/frontend/src/assets/logo.png -------------------------------------------------------------------------------- /vue/frontend/src/assets/logo.svg: -------------------------------------------------------------------------------- 1 | Artboard 46 2 | -------------------------------------------------------------------------------- /vue/frontend/src/assets/uploadImgs/Call.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/vue/frontend/src/assets/uploadImgs/Call.PNG -------------------------------------------------------------------------------- /vue/frontend/src/assets/uploadImgs/KakaoTalk_20221013_212956591_04.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/vue/frontend/src/assets/uploadImgs/KakaoTalk_20221013_212956591_04.jpg -------------------------------------------------------------------------------- /vue/frontend/src/assets/uploadImgs/mario.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/EDDI-WebAppAcademy/LectureNotes/623196573f415dcdf427afe4525fc91712821d09/vue/frontend/src/assets/uploadImgs/mario.png -------------------------------------------------------------------------------- /vue/frontend/src/components/basics/DataSendTestForm.vue: -------------------------------------------------------------------------------- 1 | 23 | 24 | 41 | 42 | -------------------------------------------------------------------------------- /vue/frontend/src/components/basics/GlobalComponent.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 23 | 24 | -------------------------------------------------------------------------------- /vue/frontend/src/components/basics/LocalComponent.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 15 | 16 | -------------------------------------------------------------------------------- /vue/frontend/src/components/common/CommonButton.vue: -------------------------------------------------------------------------------- 1 | 19 | 20 | 32 | 33 | -------------------------------------------------------------------------------- /vue/frontend/src/config/index.js: -------------------------------------------------------------------------------- 1 | export const margin = { 2 | top: 50, right: 50, bottom: 50, left: 50, value: 2 3 | } 4 | export const chartWidth = 300 5 | export const chartHeight = 300 -------------------------------------------------------------------------------- /vue/frontend/src/main.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import App from './App.vue' 3 | import router from './router' 4 | import store from './store' 5 | import vuetify from './plugins/vuetify' 6 | import CommonButton from '@/components/common/CommonButton' 7 | 8 | Vue.component('CommonButton', CommonButton) 9 | 10 | Vue.config.productionTip = false 11 | 12 | new Vue({ 13 | router, 14 | store, 15 | vuetify, 16 | render: h => h(App) 17 | }).$mount('#app') 18 | -------------------------------------------------------------------------------- /vue/frontend/src/mixins/buttonMixins.js: -------------------------------------------------------------------------------- 1 | export default { 2 | methods: { 3 | isMobile() { 4 | return this.$vuetify.breakpoint.mobile 5 | }, 6 | }, 7 | } -------------------------------------------------------------------------------- /vue/frontend/src/plugins/vuetify.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue'; 2 | import Vuetify from 'vuetify/lib/framework'; 3 | 4 | Vue.use(Vuetify); 5 | 6 | export default new Vuetify({ 7 | }); 8 | -------------------------------------------------------------------------------- /vue/frontend/src/store/getters.js: -------------------------------------------------------------------------------- 1 | export default { } -------------------------------------------------------------------------------- /vue/frontend/src/store/index.js: -------------------------------------------------------------------------------- 1 | import Vue from 'vue' 2 | import Vuex from 'vuex' 3 | 4 | import state from "@/store/states"; 5 | import actions from "@/store/actions"; 6 | import mutations from "@/store/mutations"; 7 | import getters from "@/store/getters"; 8 | 9 | Vue.use(Vuex) 10 | 11 | export default new Vuex.Store({ 12 | state, 13 | actions, 14 | mutations, 15 | getters, 16 | }) 17 | -------------------------------------------------------------------------------- /vue/frontend/src/store/mutation-types.js: -------------------------------------------------------------------------------- 1 | export const REQUEST_DATA_FROM_SPRING = 'REQUEST_DATA_FROM_SPRING' 2 | export const REQUEST_RANDOM_SHOP_ITEM = 'REQUEST_RANDOM_SHOP_ITEM' 3 | export const REQUEST_MY_INVENTORY = 'REQUEST_MY_INVENTORY' 4 | export const REQUEST_CHARACTER_STATUS_FROM_SPRING = 'REQUEST_CHARACTER_STATUS_FROM_SPRING' 5 | export const REQUEST_CHARACTER_STATUS_UPDATE_FROM_SPRING = 'REQUEST_CHARACTER_STATUS_UPDATE_FROM_SPRING' 6 | export const REQUEST_BOARD_LIST_FROM_SPRING = 'REQUEST_BOARD_LIST_FROM_SPRING' 7 | export const REQUEST_BOARD_FROM_SPRING = 'REQUEST_BOARD_FROM_SPRING' 8 | export const REQUEST_PRODUCT_LIST_FROM_SPRING = 'REQUEST_PRODUCT_LIST_FROM_SPRING' 9 | export const REQUEST_PRODUCT_FROM_SPRING = 'REQUEST_PRODUCT_FROM_SPRING' -------------------------------------------------------------------------------- /vue/frontend/src/store/states.js: -------------------------------------------------------------------------------- 1 | export default { 2 | springFromVueTestValue: null, 3 | randomShopItem: [], 4 | myInventory: [], 5 | characterStatus: {}, 6 | characterStatusUpdateFlag: false, 7 | 8 | boards: [], 9 | board: {}, 10 | 11 | products: [], 12 | product: {}, 13 | 14 | sensors: [], 15 | sensor: {}, 16 | 17 | isAuthenticated: false 18 | } -------------------------------------------------------------------------------- /vue/frontend/src/views/account/SignUpView.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 35 | 36 | -------------------------------------------------------------------------------- /vue/frontend/src/views/axiosTest/VueToSpringView.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 29 | 30 | -------------------------------------------------------------------------------- /vue/frontend/src/views/basics/ComponentTestView.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 42 | 43 | -------------------------------------------------------------------------------- /vue/frontend/src/views/basics/DataSendTestView.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 33 | 34 | -------------------------------------------------------------------------------- /vue/frontend/src/views/boards/JpaBoardListView.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 36 | 37 | -------------------------------------------------------------------------------- /vue/frontend/src/views/boards/JpaBoardRegisterView.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 32 | 33 | -------------------------------------------------------------------------------- /vue/frontend/src/views/common/CommonTest.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 23 | 24 | -------------------------------------------------------------------------------- /vue/frontend/src/views/products/JpaProductListView.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 36 | 37 | -------------------------------------------------------------------------------- /vue/frontend/src/views/products/JpaProductRegisterView.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 32 | 33 | -------------------------------------------------------------------------------- /vue/frontend/src/views/rpg/RpgGameView.vue: -------------------------------------------------------------------------------- 1 | 10 | 11 | 30 | 31 | -------------------------------------------------------------------------------- /vue/frontend/vue.config.js: -------------------------------------------------------------------------------- 1 | const { defineConfig } = require('@vue/cli-service') 2 | module.exports = defineConfig({ 3 | transpileDependencies: [ 4 | 'vuetify' 5 | ] 6 | }) 7 | --------------------------------------------------------------------------------