Skip to content

acacha/casteachingIonic

Repository files navigation

Screencasts

Visiteu:

Codi en producció:

IonicRealWorldApp

Casteaching

Casteaching és una aplicació desenvolupada per Sergi Tur Badenas. Es tracta d'una web app i REST API per a ensenyar utilitzant screencasts.

L'aplicació està desenvolupada amb Laravel i utilitzant TDD (Test Driven Development). Podeu veure com s'ha realitzat aquesta aplicació a la sèrie de vídeos:

https://tubeme.acacha.org/tdd

TODO

  • Casteaching Landing Page -> Descarrega app a Google Play

Coneixements Previs

Vue

Si no coneixeu les bases de Vue us recomano el curs:

https://www.vuemastery.com/courses/intro-to-vue-3

Casteaching Ionic

Aquest repositori conté el codi de la versió per a Ionic/Mòbils de casteaching. Es tracta d'una versió de la web app casteaching adaptada a mòbils i creada amb Ioni i VueJs. L'aplicació Ionic és una aplicació Frontend que utilitza Axios per comunicar-se amb el backend (REST API de l'aplicació casteaching)

Autor

image

Codi font dels alumnes

Com publicar els projectes?

Similar a com vam fer amb el projecte ionic-comptador: https://www.youtube.com/watch?v=e03ea9TQ6lg&list=PLyasg1A0hpk0Z60Jg0kMpjP_Nw5ZTA7My&index=8

Curs de vue mastery: https://www.vuemastery.com/courses/real-world-vue3/deploying-with-render/

Aneu a render.com i entreu amb el vostre usuari de Github:

  • Feu click a botó New.
  • Escolliu new static
  • Poseu la URL de vostre projecte Github (és posible que tingueu que donar permisos o fer el projecte public)
  • Nom del projecte: CasteachingIonic (o quelcom similar identificatiu, per exemple el vostre nom)
  • branch: production
  • comanda: npm run build
  • carpeta: dist

Captura exemple:

image

Feu click a create new service.

Projectes en explotació dels alumnes

Sèries

https://tubeme.acacha.org/ionic_real | https://tubeme.acacha.org/ionic_realworld | https://tubeme.acacha.org/ionic_real_world

Coneixements previs

Vídeo 101

Explicació:

  • Versió per a mòbils casteaching
  • Comunicació amb el frontend via XHR/Fetch/Axios. REST API casteaching és un coneixement previ
  • Utilitzarem la llibreria npm casteaching -> https://www.npmjs.com/package/casteaching -> Servei que connecta el frontend amb el backend.
  • Utilitzem una plantilla Github com a inici de l'aplicació Ionic en comptes de ionic start -> Us proporciono una versió sense Typescript
  • Plantilles Github vs Forks
  • Vue Router. Client Side Routing Vs Server Side Routing -> SPA -> https://www.vuemastery.com/courses/real-world-vue3/vue-router-essentials

Esborrar typescript

Veieu els commits:

La documentació de ionic no explica com arreglar els testos, la poseu trobar a:

https://ionicframework.com/docs/vue/quickstart

Secció:

https://ionicframework.com/docs/vue/quickstart#build-your-way-with-typescript-or-javascript

Vídeo 104

Llistes:

Casos ús:

  • Llista de vídeos: tots
  • Pull to refresh al show del video
  • Un cop la api tingui paginació podem implementar llista infinita
  • Mostrar un truc per omplir amb dades inventades la Api

106. Auth amb backend Laravel

Vídeos Previs:

  • Un de casteaching com a backend explicant que és Laravel Sanctum
  • Recordar que de moment hem fet una "xapuza" a nivel authenticació i seguretat que és Token Hardcoded https://github.com/acacha/casteaching_package/blob/main/index.js#L10
  • Al reiniciar amb fresh la base de dades el token s'esborrar i ja no va Videos per Vue
  • Funciona amb Laravel Sanctum?

TODO:

  • Afegir Formulari de login a aplicació Ionic
  • Link a registre al backend Laravel: no cal/bo farem fer registre Ionic

Casteaching package:

Aquest valor s'ha d'obtenir amb:

Laravel Sanctum: