mathNET
GitHub
以下の内容は ↑ の readme と重複しています
数学版の知恵袋です
https://scrapbox.io/files/609b99d691774d001c39b6ab.png
残念ながら今はもう化石状態の web アプリです…
なぜ作ったか?
大学入学時にコロナ禍で数学を質問できる人がいなく、そういう人に役立てばいいと思ったから
知恵袋等では数式が見にくく、LaTeX をつかってきれいな数式で質問したいから
特徴
LaTeX を用いて直感的に綺麗に数学の質問ができる
https://scrapbox.io/files/609c99e33beeff0036cb68b7.png
質問は画像投稿でも手軽にできる
https://scrapbox.io/files/609c99a45c62a400224340d2.png
分野にタグをつけることができる
https://scrapbox.io/files/609c9a1330bbce0036cde02e.png
モバイルにも対応している
SNS ログインができる
https://scrapbox.io/files/609c984482dc2c00380e9bfd.png
サイトマップの自動生成による SEO の強化
開発人数と期間
大学入学して少し後ごろに、友人と2人で3週間ほどかけてつくりました
フロントエンドは自分が中心に、バックエンドは友人が中心となり開発しました
ただし後学のためお互いの担当を入れ替えたりしフロントエンド・バックエンド両方を経験しました
デザインで意識した点
知恵袋や Quora など色々なサイトを参考にしました
モバイルでのヘッダーハンバーガーメニューはクリック率が下がるとのことで、画像のようにヘッダーボタンを追加しました
https://scrapbox.io/files/609cabc75ccf93001cf95d99.png
苦労した点
LaTeX を用いた数式入力
数式のリアルタイム変換がブラウザによってはものすごく重い問題がありました。さらにその現象が発生するときと発生しないときがあり解決は困難を極めました
変換を非同期で遅らせる、変換時間を検出して重い場合は10入力に1回のみ変換するなどの対策をしました
Nginx + uWSGI + Django のセットアップ
Nginx、ミドルウエアの uWSGI、Django のセットアップがなかなかうまく行かず苦労しました。当時は英語の公式ドキュメントよりも日本語のわかりやすい情報に頼っていたのもうまく行かなかった原因です
まずは公式ドキュメントを見るべき(反省)
ユーザを集める
ユーザを集めるのがとても大変であり、結果として現在ではユーザが集まらずサービスが化石化してしまいました
技術力だけではなくどうすれば使ってもらえるか?そもそもどんなものを求めているのか?ということも今後勉強します
技術
フロントエンド
Sass
JQeruy
いまなら Vue や React を使いますが、当時は JQeruy で頑張ってました
MathJax
LaTeX の数式表示に使いました
バックエンド
OAuth
Python3
Nginx
PostgreSQL
Conoha VPS
フロントエンド & バックエンド
Django
その他
Circle CI を使って自動デプロイ
Dockerfile での開発環境の共有