2020の記事になります。APIを利用してフロントエンドを自分専用に使いやすくするために再構築しました。プロジェクト管理(人のタスクもチェックもする)というよりは個人のタスク管理という位置付けで取り組みました。(あまりいろんなものを表示しないようにしたい)やりたかったことRedmineのUIを変更して、個人向けに使いやすくしたい(Redmine高機能だけど、個人のタスク管理には少し重たいと感じる)複数のRedmineの行き来を楽にしたい。Keyを登録することでRedmineの切り替えができるようになっています。Issueの登録・更新(note追加)・削除がとりあえず動くようになっています。登録時に自動で自分が担当になります。一覧は担当してるチケットしか表示してません。Card」でTrello風にカードの移動でステータス変更ができるようになっています。Amplifyのホスティング機能を利用しています。material-uiなどを使用しています。Amplifyの認証機能(cognito)を利用しています。AmplifyのAPIの機能を利用してAppSync(GraphQL)+DynamoDBでデータを管理しています。AmplifyのAPIの機能を利用してRedmineのAPIをプロキシする仕組みを作っています。複数のRedmineにアクセスすることを想定しているので、Redmine(Rails)のpublicに配置するわけにもいかなかったので、Lambdaでプロキシさせる方法にしました。(もっと簡単で便利な方法あったら誰か教えてください。)APIのプロキシについて(技術的な話)設定の詳細は以下の記事をご覧ください。Amplifyの機能で構築しています。Amplifyの使い方については公式のドキュメントがわかりやすいです。https://docs.amplify.aws/start/q/integration/vue中でも今回は特に以下のページを熟読しました。AUTHENTICATIONのドキュメントhttps://docs.amplify.aws/lib/auth/getting-started/q/platform/js#option-1-use-pre-built-ui-componentsCognitoを利用してユーザ認証をするのですが、Amplifyを利用すると驚くほど簡単でした。最初はよくわからないので、かなりドキュメントを読み込みました。Keyの管理に使用しています。Cognitoと連携することでかなりセキュアかつ簡単にデータアクセスの管理ができます。APIのプロキシの実装に使いました。Ruby大好きな自分にとってはNode.jsを書かないといけないという問題はありましたが、かなり簡単かつ安価に実装ができました。こちらのハンズオンをすると何となく使い方がわかります。WORKSHOP」https://amplify-sns.workshop.aws/ja/デモサイト以上、ご興味のある方は期間限定デモサイトも準備していますので、お試しください。反響が大きいようでしたら、サービスとしてリリースするか、コード公開も検討したいと思います。(現時点では公開する予定はなし。デモサイトの公開は終了しました。上記アカウント情報を入力してください。List」が表示されない場合はリロードをしてみてください。TEST」をクリックして選択してください。画像のようにCurrentに表示されれば設定完了です。cardなどお好きに変更を加えていただいて構いません。挙動が怪しい時はリロードしたりクリック連打してみてください。Card」で登録・削除(ステータスを終了)・更新できるようにする。List」機能の実装)スケジュール(カレンダー)管理機能の実装(「Schedule」機能の実装)(カスタムフィールドで時間を保存使用かなと思っています。)その他、随時表示の見直し!あと、Redmineからはちょっと離れますが、チャットアプリを作りたいので、ついでにチャット機能も実装しようと思っています。redmineのurl単位でテナントを区切って、その中でチャットができたら面白そうかなと思っています。それに伴って、スマホアプリの開発も取り組もうかと思っています。人に使ってもらうことをそこまで意識していないので、作りの甘いところはありますが、短期間で自分が使う分には問題ないレベルまで作れたかと思います。あと、作って見てから気がついたのですが、思ったよりもサクサク動くのが意外でした。考えたらRailsってSSRなので、レンダリングに結構時間がかかってることを思い出しました。今回作成したアプリはSPAなので、その辺も良い方向に作用したのかなと思います。今後は業務で実際に使いながら開発しようと思っています。追記2021/11/17こちらの技術を原型としたサービスが公開されました。ご興味ある方おられましたらこちらのサービスを利用してみてください。