アロカップ

お気持ち経済(お経)

https://github.com/K-Kizuku/allocup_dotcat_backend

Azure

C#

お礼やお気持ちの代わりにトークン(貨幣)を送り合えるアプリです!

Kizuku

推しアイデア

OrleansとBlazorの「ふきょう」のためにこのアプリを作りました.

作った背景

友達同士や部員間で技術的なことを教え合ったりする際に感謝の気持ちを気軽にトークンで伝え合えたらいいと思い制作しました.

推し技術

ASP .NET Coreで全体を構成しています! 特にバックエンドで用いているOrleansは簡単に分散型アプリケーションを開発することができるASP.NETのフレームワークです.

プロジェクト詳細

布教ポイント!

フロントエンド

担当 Mizuha(木須) Blazor WebAssemblyを使用しました.

布教ポイント

  • C#でフロントエンドを実装できる 慣れ親しんだ言語で実装が可能
    型指定がやりやすい
  • .NET MAUI でネイティブアプリ化できる. .NET MAUIでは,Android, iOS, MacOS, Windowsのマルチプラットフォームアプリ開発ができる.

バックエンド

担当 Kizuku(小谷) 今回は,C#でバックエンドを書きました. .NETのフレームワークのOrleansを用いてMVCのバックエンドを構成しました.C#での開発は初めてでしたがなんとかなりました. また,バッチ処理ではAzure Functionsのタイマートリガーを使用して,毎日AM5:00に処理が走るようにしました.

Orleansのここがすごい!!

  • 分散型アプリケーションをめっちゃ簡単に構築できる.(概念は少々難しいけど)
  • グレインの永続化のためにNoSQLを使用していますが,DBへの値の保存をOrleans側がよしなにやってくれるので開発速度が早い!
  • グレインがとにかく素晴らしい!!!

インフラ

担当 Cat(釘宮)

  • 今回は仮想ネットワークリソースを初めて触ってみました,仮想ネットワークリソースは,デプロイされているリソースにネットワークの概念を付与するものでOrleansの環境を立てるのに推奨されていました. 正直,トラウマになって二度と触りたくない(今は)ですが,最初はとても面白い概念だなと感動していました.

  • また,布教できる技術としてAzure Front Doorも挙げたいです. このリソースでは,ネットワーキングリソースに対して便利な操作を定義できるほか,リクエストを捌くリソースに対してロードバランサーとしても振る舞ってくれます. 今回も構成に含めてみましたが,今回初めて使うリソースの中で一番触りやすく,とても優秀でした.

  • インフラ屋は神様なんだなと感じました.

アプリの構成

アプリの機能

  • トークンのやりとり
    • 各ユーザーは各々が発行するトークンを持っており,それらを用いてやり取りを行う.トークンを送るタイミングは誰かに助けてもらったりして感謝を伝えたい時
  • お願いリスト
    • 集めたトークンを使ってお願いを聞いてもらうこともできる.自分が欲しいトークンと自分が提供するものを表示でき,それをみたユーザーとマッチングできる
  • その他
    • フォロー・フォロワー機能
    • ユーザー検索機能
    • ページネイション
    • レスポンシブ対応
    • 動くUI
    • 分散アプリケーション
    • バッチ処理

技術構成図

image

Kizuku

@Kizuku