PORT_Firebase___Algolia.pdf

E222076ea6b90ae53c2bc68c8a4e01f1?s=47 shogo.yamada
December 11, 2019
160

 PORT_Firebase___Algolia.pdf

E222076ea6b90ae53c2bc68c8a4e01f1?s=128

shogo.yamada

December 11, 2019
Tweet

Transcript

  1. Firebase × Flutter × Alglia PORT Firebase × Alglia Shogo

    yamada
  2. ࣗݾ঺հ Nama: Shogo Yamada Job: AndroidΤϯδχΞ Twitter: @yshogo87 Facebook: ࢁాঘޗ

  3. ໨࣍ ɾAlgoliaͷ࢖༻৔໘ ɾAlgoliaͷ࢖͍ํ ɾAlgoliaΛFlutter͔Β࢖͏ ɾAlgolia͔ΒσʔλΛऔಘ͢ΔϝϦο τ/σϝϦοτ

  4. Algoliaͷ࢖༻৔໘

  5. Algoliaͷ࢖༻৔໘

  6. Algoliaͷ࢖༻৔໘ UserNameͰݕࡧʁ UserIDͰݕࡧʁ ը૾ͷΧςΰϦͰݕࡧʁ

  7. Algoliaͷ࢖༻৔໘ where userName like hogehoge OR userId like hogehoge OR

    categoryName like hogehoge
  8. None
  9. ͦ͜ͰAlgolia

  10. Algoliaͷ࢖༻৔໘ ɾuser_id ɾuser_name ɾintroduction ͳͲෳ਺ͷଐੑͷจࣈྻʹରͯ͠ݕࡧΛ ౤͛Δ͜ͱ͕Ͱ͖Δ

  11. Algoliaͷ࢖༻৔໘

  12. Algolia࢖͍ํ

  13. Algoliaͷ࢖͍ํ ɾAlgoliaʹαΠϯΞοϓ ɾαΠϯΞοϓޙʹindexΛ࡞੒͢Δ

  14. Algoliaͷ࢖͍ํ ɾCloud FunctionsͷηοτΞοϓΛߦ͏ npm install algoliasearch

  15. Algoliaͷ࢖͍ํ ɾFirestoreͷτϦΨʔΛར༻ͯ͠Algoliaʹ σʔλΛ౤͛Δ

  16. Algoliaͷ࢖͍ํ

  17. Algoliaͷ࢖͍ํ ɾΫϥΠΞϯτଆ͔ΒAlgolia SDKΛ࢖ͬͯ Algoliaʹऔಘ͠ʹ͍͘

  18. Algoliaͷ࢖͍ํ Firestoreʹอଘ τϦΨʔ SDKͰσʔλΛ౤͛Δ ΫΤϦ

  19. Flutter͔ΒAlgoliaΛ࢖͏

  20. Flutter͔ΒAlgoliaΛ࢖͏

  21. Flutter͔ΒAlgoliaΛ࢖͏

  22. Algolia͔ΒσʔλΛऔಘ͢Δ ϝϦοτ/σϝϦοτ

  23. ͔͜͜Β͸ࣗ෼ݸਓͷҙݟͳ ͷͰશͯͷࣄ৅ʹ౰ͯ͸·Δ ͱ͸ݶΒͳ͍Ͱ͢

  24. Algolia͔ΒσʔλΛऔಘ͢Δϝ Ϧοτ/σϝϦοτ ϝϦοτ ɾFirestoreʹ͸ͳ͍ΫΤϦ͕࢖͑ΔΑ͏ʹͳ Δ (likeɺfilterɺෳ߹ΫΤϦɺetc….) ɾϥϯΩϯάઃܭָ͕

  25. Algolia͔ΒσʔλΛऔಘ͢Δϝ Ϧοτ/σϝϦοτ ෳ߹ΫΤϦ

  26. Algolia͔ΒσʔλΛऔಘ͢Δϝ Ϧοτ/σϝϦοτ ϥϯΩϯά

  27. Algolia͔ΒσʔλΛऔಘ͢Δϝ Ϧοτ/σϝϦοτ σϝϦοτ ɾFirestoreͷϩʔΧϧΩϟογϡػೳ͕࢖͑ ͳ͍

  28. Algolia͔ΒσʔλΛऔಘ͢Δϝ Ϧοτ/σϝϦοτ σϝϦοτ ɾFirestoreͷϩʔΧϧΩϟογϡػೳ͕࢖͑ ͳ͍ ͜Ε݁ߏΫϦςΟΧϧ

  29. FirestoreΛ৑௕Խ ͯ͠औಘ͢Δ͔ Algolia͔ΒΫΤϦ͢Δ͔

  30. ྫΛ͋͛ͯઆ໌͠·͢ɻ

  31. Firestoreͷ৔߹

  32. TwitterͷλΠϜϥΠϯͷΑ͏ͳػೳΛ࣮૷͢Δͱ͖ Firestoreͷ৔߹ ϢʔβʔA(userID: id1)͕πΠʔτ͢Δͱ user/id1/posts/{postsId}/[data]

  33. TwitterͷλΠϜϥΠϯͷΑ͏ͳػೳΛ࣮૷͢Δͱ͖ Firestoreͷ৔߹ ϢʔβʔAΛϑΥϩʔ͍ͯ͠ΔϢʔβʔશһͷλΠ ϜϥΠϯʹίϐʔ͢Δɻ user/{followerId1}/timeline/{postsId}/[data] user/{followerId2}/timeline/{postsId}/[data] user/{followerId3}/timeline/{postsId}/[data] ɿ ϢʔβʔA(userID: id1)͕πΠʔτ͢Δͱ

    user/id1/posts/{postsId}/[data]
  34. TwitterͷλΠϜϥΠϯͷΑ͏ͳػೳΛ࣮૷͢Δͱ͖ Firestoreͷ৔߹ ͋ͱ͸ϑΥϩʔ͍ͯ͠ΔϢʔβʔ͸ίϐʔ͞Εͨ σʔλΛࢀর͢Δ user/{followerId1}/timeline/{postsId}/[data]

  35. TwitterͷλΠϜϥΠϯͷΑ͏ͳػೳΛ࣮૷͢Δͱ͖ Firestoreͷ৔߹ ϝϦοτ ɾಡΈऔΓ͕؆୯(ίϐʔ͞ΕͨσʔλΛࢀর͢ Δ͚ͩ ɾFirestoreͷϩʔΧϧΩϟογϡ͕࢖͑Δ σϝϦοτ ɾσʔλΛ৑௕Խ͍ͯ͘͜͠ͱͷ؅ཧ΋ίετ ΋͔͔Δ

  36. Algoliaͷ৔߹

  37. TwitterͷλΠϜϥΠϯͷΑ͏ͳػೳΛ࣮૷͢Δͱ͖ Algoliaͷ৔߹ ϢʔβʔA(userID: id1)͕πΠʔτ͢Δͱ user/id1/posts/{postsId}/[data]

  38. TwitterͷλΠϜϥΠϯͷΑ͏ͳػೳΛ࣮૷͢Δͱ͖ Algoliaͷ৔߹ ϢʔβʔA(userID: id1)͕πΠʔτ͢Δͱ user/id1/posts/{postsId}/[data] τϦΨʔͱͯ͠Algoliaʹσʔλ౤͛Δɻ

  39. TwitterͷλΠϜϥΠϯͷΑ͏ͳػೳΛ࣮૷͢Δͱ͖ Algoliaͷ৔߹ AlgoliaʹΫΤϦ͢Δ

  40. TwitterͷλΠϜϥΠϯͷΑ͏ͳػೳΛ࣮૷͢Δͱ͖ Algoliaͷ৔߹ ϝϦοτ ɾσʔλΛ৑௕Խ͍ͯ͘͠ඞཁ͕ͳ͍ͷͰ؅ཧ ͕ϥΫ ɾFirestoreʹൺ΂ͯͬͪ͜ͷ΄͏͕ӡ༻අ͕҆ ͘ͳΔ৔߹΋͋Δ σϝϦοτ ɾFirestoreͷϩʔΧϧΩϟογϡ͕࢖͑ͳ͍

  41. TwitterͷλΠϜϥΠϯͷΑ͏ͳػೳΛ࣮૷͢Δͱ͖ ݁ՌͲͬͪΛ࢖͏΂͖͔͸ʮcase by caseʯ ݁࿦ ɾσʔλͷࢀর͕ϥΫʹͳΔͷ͸ -> Firestore ɾσʔλͷߋ৽͕ϥΫʹͳΔͷ͸ ->

    Algolia
  42. ࢀরΛͱΔ͔ ߋ৽ΛͱΔ͔

  43. ͪͳΈʹɺɺɺ ࣗ෼͕ࠓ࡞ͬͯΔSNSαʔϏε͸FirestoreͰλΠϜ ϥΠΛ࡞͍ͬͯ·͢ɻ ཧ༝ ɾFirestoreͷϩʔΧϧΩϟογϡΛ࢖͍͔ͨͬͨ ɾ࢖༻্Ұఆͷ࣌ؒͰλΠϜϥΠϯͷσʔλ͕ফ͑ ΔͷͰߋ৽ճ਺͸ݶఆ͞Ε͍ͯΔ

  44. Ͱ͕͢ɺɺɺ ݕࡧܥ͸͘͢͝ศརͳͷͰɺFirestoreͱAlgoliaͷ ૊Έ߹Θͤ͸ඞਢͱ͍ͬͯ΋͍͍͔ͱࢥ͍·͢ɻ ❤

  45. Ҏ্Ͱ͢ɻ ࠙਌ձͰ͓࿩͠͠·͠ΐ ͏ʂʂ