keiGoは翻訳アプリのような使用感の敬語変換Webアプリケーションです。 左側の原文ペインに変換したいテキストを入力すると、右側の敬語ペインに変換結果が表示されます。
現在、
- 丁寧語(です/ます調)
- 尊敬語(相手を立てる表現)
- 謙譲語(自分を下げる表現)
の3種類の敬語の変換に対応しています。
主な採用技術
- React
- TypeScript
- styled-components
- webpack
React + TypeScriptで開発しています。 コンポーネントのスタイリングはstyled-componentsを使ったCSS in JSで書いています。 また、create-react-appなどは使わず、できるだけ最小構成のReactで開発を進めています。
主な採用技術
- Golang
- gin
- kagome
- Docker
Golang、ginでAPI Serverを開発しています。 アーキテクチャはMVCです。 最も重要な敬語変換ロジックはGolang向け形態素解析ツールのkagomeと独自の変換プログラムを組み合わせて実装しています。 また、上記の変換ロジックは想定するケースが膨大にあるため、testingパッケージを使ってユニットテストを導入しています。 Dockerを活用し、アプリケーションはコンテナ化して開発しています。
Frontendのデプロイ先として使用しています。 GitHubのリポジトリと連携するだけでよいので、素早く低コストにデプロイを実現できています。
Backendアプリケーション(敬語変換サーバ)の実行環境として採用しています。 Dockerコンテナ化したアプリケーションをフルマネージドで公開、運用することができ、サーバの管理コストを大幅に下げることができています。 さらに、Cloud RunへのデプロイはGitHub Actionsを介しているため、Backendの担当者はアプリケーションの開発に集中できます。 また、デフォルトでHTTPSに対応しているため、Mixed contentの問題に対応する手間も省けています。