どなブロ

エンジニアァのブログです

個人開発アプリ作り始めました

やっとこさ個人開発アプリを作り始めました。

最初にどんな物を作ろうとしているのかざっくりと書いていこうかな~と思います。

webアプリ開発の目的

まず開発する目的からなんですが、「railsの勉強のため」というのが主です!
これまで、たのしいRubyrubyの学習、railsの勉強としてrailsチュートリアル、という感じでだらだらとやってきていたんですが、インプットばかりではモチベーション保つのがきついな~と思い何か作ろうという考えに至りました。
まだ先の話ですが、個人開発したサービスで収入も得られればと思っているので、そのためのサービス開発の練習的な意味もあるかな~と思います。


ターゲットなど

今回はあまり外向けな感じではありません。
大学時代に所属していたバンドサークルで活用できるwebアプリを作ろうと思っています。なんでまぁ端的に言えば、「身近な人を対象にした、独自サービスの開発」って感じです。

特にマネタイズとかは考えていません!広告とかでちょろちょろもらえたら嬉しいですけど。


概要

自分が所属してたバンドサークルは、年5,6回のライブを自分達で運営する形でやっています。
またその年5,6回のライブごとにバンドを組む人を変えて毎回別のコピーバンドをやって…みたいな流れです。
練習は大学に部室があるのでそこでやってます。

今回作るアプリはそのライブに関連して行う必要のある事柄を補助する物を考えています。


現状とアプリによる改善

概要で記したライブの運営のためにいろいろやることがあります。下記に現状やっている事と、それに対してアプリでどういう機能を作って改善するかを書きます。
ちょっと仕様が固まってない部分も多く、かなり大雑把な感じですが!

部室取り

毎週部会の時にバンドの代表が練習のために部室取りを行う。月曜~日曜で大学の時間割に合わせて各バンドで希望を出していって被ったらジャンケンで決める。

  • 規定の時間までにweb上で各バンドが1週間単位で希望の日程を登録。
    • 第1希望、第2希望・・・と希望順も書く
  • 被った日程については、規定の時間に抽選を行う
    • 外れたら次の希望に
  • 結果をwebページに表示
  • 結果出力完了次第メール送信

練習決め

各バンドの中で、部室取りに向けてメンバーの予定を合わせる。主にLINEのグループで各人の予定を聞いて代表が突き合わせて決定する。

  • 調整さんみたいな感じのを作る
    • 列:月曜〜日曜、行:1限〜7限という感じで1週間単位
  • バンド単位で日程合わせのイベントを作成
  • バンドメンバーが予定を記入して、合う日程を出力
  • 結果はwebページ上にのみ表示

Qシート作成

ライブをするにあたって、各バンドの演目や使用機材、ライブ出演可能日などを記入する。現在紙媒体で、部会で配って、バンド代表が書いて、部会で提出している。
Qシートはライブでの演奏時とタイムテーブル決めの時に利用される。

  • 必要事項を記入するページを用意
  • 記入した内容はDBに保存
  • Qシートを参照できるページも作成
  • 現状の紙で、図で書く部分があるがそこをどうするか決まってない

タイムテーブル決め

Qシートに書かれた出演可能時間を元にタイムテーブルを組む。単純に並べるだけでなく、バンドのジャンルなども考えて組み替えたりしている。

  • まずタイムスケジュールを決めてもらう
    • テンプレートがあった方がよいかも
  • Qシートの出演可能時間を元に各バンドをタイムスケジュールの中に入れる
  • 一旦自動で組んだ後に手で直せるようにする
  • いきなり完成品を出すのでなく色々組み替えたりして作ってもらう
  • 手動で組み替えた時に、出演不可な時間にを指定したりしたら警告を出す
  • 完成したタイムテーブルはwebページで閲覧できるようにする
    • 画像として出力もできたら良さそう


開発や環境として使用するもの

Ruby on Rails

今回はrailsの勉強目的なので、もちろんrailsを使います!

Heroku

サーバはとりあえずHerokuで運用しようかな〜と考えています。何より簡単なので・・。きちんとアプリが完成してきて、利用する人が増えてきたら無料枠でやるのは難しいかもしれませんが。
AWSでの運用も勉強がてらにやりたい気持ちはあるので、何か機会があればそっちに移す事もあるかもしれません。

AWS Cloud9

開発環境はとりあえずCloud9を使おうと思っています。ローカル環境下で開発する必要が発生したら環境構築してみようと思います。

フロントエンド周り

フロントエンドは何使ったらいいかわからないのでまだ全然決まってません!特に理由も無いのですが、Reactに挑戦してみたいな〜という気持ちはあります。

他何か思い出したら追記します。



以上が、ざっくりとですが今回作るwebアプリについてでした。
こうしてダーッと書いてみて思ったのですが、最初に軽く考えてたよりずっと大規模な感じになりそうで焦る!なんとなく数ヶ月で完成させられたらいいな〜なんて思ってたけど、安定させるまで行くには年単位で時間が必要かもしれない泣
とりあえずで機能で分けていって一つずつリリースしていければ、と思います!

これからこのアプリについての開発日誌もブログにあげていきます。
何かあれば、webアプリの機能から実装についてまでなんでも意見頂ければ嬉しいです!

これから頑張っていきます〜乞うご期待…

以上