├── .DS_Store ├── LVNTutorialApp ├── .gitignore ├── LVNTutorialApp.xcodeproj │ └── project.pbxproj └── LVNTutorialApp │ ├── Assets.xcassets │ ├── AccentColor.colorset │ │ └── Contents.json │ ├── AppIcon.appiconset │ │ └── Contents.json │ └── Contents.json │ ├── CatRatingView.swift │ ├── ContentView.swift │ ├── LVNTutorialAppApp.swift │ ├── MyLoadingView.swift │ ├── MyRegistry.swift │ ├── NavFavoriteModifier.swift │ └── Preview Content │ └── Preview Assets.xcassets │ └── Contents.json ├── README.md └── lvn_tutorial_backend ├── .DS_Store ├── .formatter.exs ├── .gitignore ├── README.md ├── assets ├── .DS_Store ├── js │ └── app.js └── vendor │ └── topbar.js ├── config ├── config.exs ├── dev.exs ├── prod.exs ├── runtime.exs └── test.exs ├── lib ├── lvn_tutorial.ex ├── lvn_tutorial │ ├── application.ex │ └── favorites_store.ex ├── lvn_tutorial_web.ex └── lvn_tutorial_web │ ├── components │ ├── core_components.ex │ ├── layouts.ex │ └── layouts │ │ ├── app.html.heex │ │ └── root.html.heex │ ├── controllers │ ├── error_html.ex │ ├── error_json.ex │ ├── page_controller.ex │ ├── page_html.ex │ └── page_html │ │ └── home.html.heex │ ├── endpoint.ex │ ├── live │ ├── cat_live.ex │ └── cats_list_live.ex │ ├── modifiers │ └── nav_favorite.ex │ ├── router.ex │ └── telemetry.ex ├── mix.exs ├── mix.lock ├── priv └── static │ ├── favicon.ico │ ├── images │ └── logo.svg │ └── robots.txt └── test ├── lvn_tutorial_web └── controllers │ ├── error_html_test.exs │ ├── error_json_test.exs │ └── page_controller_test.exs ├── support └── conn_case.ex └── test_helper.exs /.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/.DS_Store -------------------------------------------------------------------------------- /LVNTutorialApp/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/LVNTutorialApp/.gitignore -------------------------------------------------------------------------------- /LVNTutorialApp/LVNTutorialApp.xcodeproj/project.pbxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/LVNTutorialApp/LVNTutorialApp.xcodeproj/project.pbxproj -------------------------------------------------------------------------------- /LVNTutorialApp/LVNTutorialApp/Assets.xcassets/AccentColor.colorset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/LVNTutorialApp/LVNTutorialApp/Assets.xcassets/AccentColor.colorset/Contents.json -------------------------------------------------------------------------------- /LVNTutorialApp/LVNTutorialApp/Assets.xcassets/AppIcon.appiconset/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/LVNTutorialApp/LVNTutorialApp/Assets.xcassets/AppIcon.appiconset/Contents.json -------------------------------------------------------------------------------- /LVNTutorialApp/LVNTutorialApp/Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/LVNTutorialApp/LVNTutorialApp/Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /LVNTutorialApp/LVNTutorialApp/CatRatingView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/LVNTutorialApp/LVNTutorialApp/CatRatingView.swift -------------------------------------------------------------------------------- /LVNTutorialApp/LVNTutorialApp/ContentView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/LVNTutorialApp/LVNTutorialApp/ContentView.swift -------------------------------------------------------------------------------- /LVNTutorialApp/LVNTutorialApp/LVNTutorialAppApp.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/LVNTutorialApp/LVNTutorialApp/LVNTutorialAppApp.swift -------------------------------------------------------------------------------- /LVNTutorialApp/LVNTutorialApp/MyLoadingView.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/LVNTutorialApp/LVNTutorialApp/MyLoadingView.swift -------------------------------------------------------------------------------- /LVNTutorialApp/LVNTutorialApp/MyRegistry.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/LVNTutorialApp/LVNTutorialApp/MyRegistry.swift -------------------------------------------------------------------------------- /LVNTutorialApp/LVNTutorialApp/NavFavoriteModifier.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/LVNTutorialApp/LVNTutorialApp/NavFavoriteModifier.swift -------------------------------------------------------------------------------- /LVNTutorialApp/LVNTutorialApp/Preview Content/Preview Assets.xcassets/Contents.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/LVNTutorialApp/LVNTutorialApp/Preview Content/Preview Assets.xcassets/Contents.json -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/README.md -------------------------------------------------------------------------------- /lvn_tutorial_backend/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/.DS_Store -------------------------------------------------------------------------------- /lvn_tutorial_backend/.formatter.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/.formatter.exs -------------------------------------------------------------------------------- /lvn_tutorial_backend/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/.gitignore -------------------------------------------------------------------------------- /lvn_tutorial_backend/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/README.md -------------------------------------------------------------------------------- /lvn_tutorial_backend/assets/.DS_Store: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/assets/.DS_Store -------------------------------------------------------------------------------- /lvn_tutorial_backend/assets/js/app.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/assets/js/app.js -------------------------------------------------------------------------------- /lvn_tutorial_backend/assets/vendor/topbar.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/assets/vendor/topbar.js -------------------------------------------------------------------------------- /lvn_tutorial_backend/config/config.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/config/config.exs -------------------------------------------------------------------------------- /lvn_tutorial_backend/config/dev.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/config/dev.exs -------------------------------------------------------------------------------- /lvn_tutorial_backend/config/prod.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/config/prod.exs -------------------------------------------------------------------------------- /lvn_tutorial_backend/config/runtime.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/config/runtime.exs -------------------------------------------------------------------------------- /lvn_tutorial_backend/config/test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/config/test.exs -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial/application.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial/application.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial/favorites_store.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial/favorites_store.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/components/core_components.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/components/core_components.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/components/layouts.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/components/layouts.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/components/layouts/app.html.heex: -------------------------------------------------------------------------------- 1 | <%= @inner_content %> 2 | -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/components/layouts/root.html.heex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/components/layouts/root.html.heex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/controllers/error_html.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/controllers/error_html.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/controllers/error_json.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/controllers/error_json.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/controllers/page_controller.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/controllers/page_controller.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/controllers/page_html.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/controllers/page_html.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/controllers/page_html/home.html.heex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/controllers/page_html/home.html.heex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/endpoint.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/endpoint.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/live/cat_live.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/live/cat_live.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/live/cats_list_live.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/live/cats_list_live.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/modifiers/nav_favorite.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/modifiers/nav_favorite.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/router.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/router.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/lib/lvn_tutorial_web/telemetry.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/lib/lvn_tutorial_web/telemetry.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/mix.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/mix.exs -------------------------------------------------------------------------------- /lvn_tutorial_backend/mix.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/mix.lock -------------------------------------------------------------------------------- /lvn_tutorial_backend/priv/static/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/priv/static/favicon.ico -------------------------------------------------------------------------------- /lvn_tutorial_backend/priv/static/images/logo.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/priv/static/images/logo.svg -------------------------------------------------------------------------------- /lvn_tutorial_backend/priv/static/robots.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/priv/static/robots.txt -------------------------------------------------------------------------------- /lvn_tutorial_backend/test/lvn_tutorial_web/controllers/error_html_test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/test/lvn_tutorial_web/controllers/error_html_test.exs -------------------------------------------------------------------------------- /lvn_tutorial_backend/test/lvn_tutorial_web/controllers/error_json_test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/test/lvn_tutorial_web/controllers/error_json_test.exs -------------------------------------------------------------------------------- /lvn_tutorial_backend/test/lvn_tutorial_web/controllers/page_controller_test.exs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/test/lvn_tutorial_web/controllers/page_controller_test.exs -------------------------------------------------------------------------------- /lvn_tutorial_backend/test/support/conn_case.ex: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/liveview-native/ios-tutorial/HEAD/lvn_tutorial_backend/test/support/conn_case.ex -------------------------------------------------------------------------------- /lvn_tutorial_backend/test/test_helper.exs: -------------------------------------------------------------------------------- 1 | ExUnit.start() 2 | --------------------------------------------------------------------------------