2018-10-31に更新

個人開発のだいたいの流れの例

個人開発 Advent Calendar 2017 - Qiita

の5日目。

概要

普段から時間があればプログラミングで遊びつつ何か作成している。
せっかくなので誰も使わなくてもリリースしたりしていて、
それらは特に仕事でやっているのとかけ離れているものではないので、
適当に箇条書き程度で紹介。

今作っているもの

ちょっと前にサイボウズLiveが終了すると発表された。
自分も丁度お客さんが使っていてそこでやり取りをしていた。
丁度Elixir & Phoenixを使って色々遊んでいたところに飛び込んできたニュースで、
丁度別のアプリケーションをキリのいいところまで作り終えたところだったので、
サイボウズLiveをコピーして作ってみようと思い作成中。

成果物は下記。

Copying live

ちなみに当ブログで連載中。

サイボウズLiveを作る カテゴリーの記事一覧 - アルファブレンド プログラミングチップス

進め方

とりあえずどんどん出来ていくのが楽しいので、細かいところは無視してどんどん自分のやりたいところを先に進める。
細かいところは後回し。
今もデータ登録が中心で削除等の細かい機能は放置している。

デザイン

デザイナーじゃないのでやっぱりBootstrap。
特に

Bootstrap

がおしゃれで何にでも使えるので良いと思う。
JavaScriptのフレームワーク毎にMaterial Desginのライブラリがあったりもするのでそういうのでもいい。

とりあえずの画面

掲示板

Todo

エディタ

Visual Studio Code

今のところ知っている中では軽量&高機能&設定手軽なものでベストだと思う。

開発環境

docker-composeを使う。Linux Mintなのでただインストールして使うだけ。

Elixir & Phoenixだと下記のような感じ。
見てのとおりだがPhoenix & MySQL & phpMyAdmin。
Phoenixのイメージは誰かがどこかで公開していたのを参考にしただけのもの。

version: '2'
volumes:
  mysql_data:
    driver: 'local'
services:
  mysql:
    image: mysql:8.0
    volumes:
      - mysql_data:/var/lib/mysql
    ports:
      - "3310:3306"
    environment:
      MYSQL_ALLOW_EMPTY_PASSWORD: "true"

  phpmyadmin:
    image: phpmyadmin/phpmyadmin
    environment:
      - PMA_ARBITRARY=1
      - PMA_HOST=mysql
      - PMA_USER=root
      - PMA_PASSWORD=
    ports:
      - 8100:80

  cybozulive:
    image: dala00/phoenix:1.3.0
    env_file: .docker-env
    volumes:
      - .:/var/opt/app
    ports:
      - "4000:4000"
    tty: true
    stdin_open: true

ソース管理

自分の場合、ソースを公開していいならGitHubに置くし、
多少大きくてあまり公開したくないものはBitbucketに置いている。
(Bitbucket最近重い気がするけど)

フロント

Vueを使っている。
Phoenixは最初からbrunchが入っているのでVueを入れたらそのまま使える。
Phoenixの開発サーバーに元々ウォッチ機能がついていて、htmlもcssもJavaScriptも全部保存時に勝手に画面を更新してくれるので何も考える必要がない。
そのためjQueryを使う意味すら無いしもう全員Vueで良いと思う。
なにより簡単に適当に一部のみコンポーネント化できるのが最高。

PHPならLaravelも最初からVueが使える。
もしフレームワークに何もついてなくてもwebpack導入してwatchするだけなのでとりあえずもうVueを使っておけばいいと思う。

公開

せっかく作ったならぐちゃぐちゃでも公開していったらいいと思う。

僕の場合、PHPならさくらのスタンダードを1つ借りてるのでそちらにアップして公開する。
(バージョン上げると動かなくなるものも入っているのでもうひとつ借りたくなるところ…)

それ以外の場合、VPSとかでも1アプリケーションごとに500円とか千円とかかかってしまい、
積み重なっていくとモチベーションに影響してしまうので、最近だと全部GCEの無料のプラン。
Herokuでも良いかもしれないがどうもDBの接続が安定しないようなのでちょっと不安。

Phoenixのデプロイ方法はAdvent Calendarの別の記事で紹介する予定。

あとSSLは例えしょうもないアプリでももう必須だと思う。
焦らずにリリース前の、失敗してサーバーをぐちゃぐちゃにしても問題ないタイミングでちゃんと設定しておきたい。


だら@Crieit開発者

Crieitの開発者です。 主にLAMPで開発しているWebエンジニアです(在宅)。大体10年程。 記事でわかりにくいところがあればDMで質問していただくか、案件発注してください。 業務依頼、同業種の方からのコンタクトなどお気軽にご連絡ください。 業務経験有:PHP, MySQL, Laravel5, CakePHP3, JavaScript, RoR 趣味:Elixir, Phoenix, Node, Nuxt, Express, Vue等色々

Crieitはαバージョンで開発中です。進捗は公式Twitterアカウントをフォローして確認してください。 興味がある方は是非記事の投稿もお願いします! どんな軽い内容でも嬉しいです。
なぜCrieitを作ろうと思ったか
関連記事

コメント