Skip to content

nineteen2021/shiftan-v2

Repository files navigation

Shiftan(シフト管理業務補助アプリ)

(普段はインスタンスを停止しています。) image 技育展登壇用スライド: https://docs.google.com/presentation/d/1Akfkf7ZtehgYBxIZ36l0LURtK4Hk89z9VLFWCwWnZ6Q/edit#slide=id.g13cf339ed51_2_72
技育展で頂いたフィードバック: https://docs.google.com/spreadsheets/d/11v8Uxg2MD86KlIXFQZIWBLcNgak1l6HVWH_7wiTbbx4/edit#gid=1919178158

概要

Shiftanは飲食店等のシフト管理業務を補助するwebアプリです。
もともと知人のアルバイト先の店長がシフトの作成に1週間かかっているという課題があり、それを解決するために開発を行っています。 その中でしふたん(自動シフト表作成アプリ)を開発しましたが、店舗に導入できず課題の解決に至らなかったためにもう一度チームでShiftanの開発を始めました。

こだわり・特徴

  • ユーザーインタビュー及び要件定義書の作成
    →以前に開発したしふたん(自動シフト表作成アプリ)が使われることはなかったという経験から実際に使われるようなアプリを作成するためにまずニーズの調査を行う必要があると思い、 ユーザーインタビュー及び要件定義書の作成を行いました。ユーザーインタビューは飲食店を10店舗ほどアンケート用紙を用いて行い、その結果からユーザーが欲しい機能やそうでない機能などを整理した要件定義書を作成しました。
  • エンジニアだけではないチーム構成
    →非エンジニア向けのサービスには非エンジニアからの視点が必要と考え、デザイナーとして友人に一人参加してもらいました。加えて要件定義書を作成している間に、ワイヤーフレーム(店舗アカウント側スタッフ側)とファビコンの作成をお願いしました。
  • シンプルなUI・UXの構築
    →パソコンが苦手な人でも使いやすいと感じてもらえるように、配色やボタンの数を減らすことに気を付けました。

開発期間・人数

開発期間:9か月(2022/2-2022/11)
開発人数:5人(エンジニア:4人, デザイナー:1人)

使用技術

image

Front : JavaScript(React), HTML/CSS, MaterialUI

Back : Python(Django)

DB : MySQL

Infrastructure: AWS(EC2)

TaskManagement : Trello, Miro etc.

ER図

image

どのように動くか

(実際の画面はWikiを参照)

店舗マネージャーアカウントでのみ使える機能

  • シフト編集
  • シフト作成
  • スタッフのポジション編集

店舗スタッフアカウントのみ使える機能

  • 希望シフト提出

どちらのアカウントでも使える機能

  • シフト一覧閲覧
  • アカウント編集(パスワード変更などを含む)

困難だった点とどう乗り越えたか

  • 新技術の導入
    →React, Django, Docker, WSL, AWSなどの新技術に挑戦しました。どれも全く触ったことがなくキャッチアップにとても苦労したうえ、初めて中規模のプロダクトを開発したため時間がかかりました。3人で技術書やネット上のドキュメントを調べ、共有してタスクをフロント→バック→インフラの順に消費し乗り越えました。特に非同期処理・状態管理などが難しく、Udemyの講座なども参考に学習を進めました。 読んだ技術書:現場で使えるDjangoRestFrameworkの教科書、React実践の教科書など
  • ログイン機能の実装
    →ログイン機能をDRFを使い、一から構築しました。非同期処理について細かく勉強することで乗り越えました。JWTトークンはローカルストレージに保存しています。デメリットとしてはXSSによるトークン漏洩の可能性が高いことが挙げられますが、トークンに有効期限を設けることによって危険性を軽減しています。

展望

  • 店舗への導入
    →もともと導入予定の店舗といくつかユーザーインタビューをした店舗に許可を頂き、Shiftanを導入する予定です。実際に使っていただきフィードバックを頂きさらなるプロダクトの改善を目指します。
  • リファクタリング
    →わかりづらい変数名やファイル名が存在しているのでリファクタリングを行い、プログラムの可読性の向上に努めます。
  • 保守・運用
    →現時点だとエンジニアの半分が先に卒業するため、サービスの開発を終了する可能性が高いです。導入予定の店舗で利用が可能であるなどニーズがある、もしくは収益化が可能であれば保守・運用を継続して行っていく可能性はあります。

About

2回目のシフトアプリケーション開発

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published