Giter Club home page Giter Club logo

vaccination-scheduler's Introduction

COVID-19 Vaccination Scheduling Application for learning Spring Boot

これは何?

COVID-19の予防接種の予約をスケジュールすることを題材として、Spring Bootを学習するためのアプリケーションです。

機能

vaccination-scheduler-admin

管理者用アプリケーション。 施設や、接種の時間枠等のマスタデータのメンテナンスを行うことができる。

vaccination-scheduler-public

一般公開用アプリケーション。 予約を行うことができる。

想定するワークフロー

A 役所の準備作業

  1. 予防接種の会場を登録する。
  2. 会場の時間枠とその枠の収容人数を設定する。
  3. ワクチンの配送予定日と場所を設定する。
  4. 住民の登録を行う。
  5. 登録と同時に、クーポン、予約サイト(accination-scheduler-public)のログインID、パスワードを発行する。 クーポン、ログインID、パスワードを住民に送付する。

B 住民の準備作業

  1. 予約サイト(accination-scheduler-public)に送付されたログインID、パスワードでログインする。
  2. 場所と時間を選択して、予約を行う。
  3. 予約後、都合が悪い場合は予約を取り消す。➙取り消し後はキャンセル待ちの住民に通知する。

C 当日

  1. 住民は予約した時間に、予約した場所に行く。
  2. 問診票を記入する。
  3. 受付でクーポン、予約番号を提示し、本人確認を行う。
  4. ワクチンの接種を受ける。

インストール

Heroku

クローンする。

git clone https://github.com/rixwwd/vaccination-scheduler.git
heroku login

vaccination-scheduler-adminのインストール

cd vaccination-scheduler/vaccination-scheduler-admin
./mvnw clean heroku:deploy

vaccination-scheduler-publicのインストール

cd vaccination-scheduler/vaccination-scheduler-public
./mvnw clean heroku:deploy

vaccination-scheduler's People

Contributors

rixwwd avatar

Watchers

 avatar

vaccination-scheduler's Issues

サインインしているユーザーの情報が古い

@AuthenticationPrincipalで取得しているため、情報がサインイン時点のものになっている。
サインアウトして再度サインインしないと反映されない。

処理に使うときは最新の情報を使いたい。

キャンセル待ちの実装

予約のキャンセルで空きができた場合、キャンセルを待っている人に通知して接種できるようにしたい。

編集時に一度バリデーションエラーになると更新できなくなる

編集時に一度バリデーションエラーになると更新できなくなる。

バリデーションエラー時に編集画面に戻す際、オブジェクトにIDが埋め込まれておらず、HTMLのFormタグのActionのURLにIDが埋め込めていない。
そのため、URLのマッピングがなくエラーになり、更新できない。

問い合わせ用の機能

よくありそうな問い合わせ。

  • 予約を忘れた
  • 予約できてるかどうか
  • 予約がわからないからやってほしい
  • 予約をキャンセルしたい

当日の予約の空きのお知らせ

キャンセルや、そもそもの予約が少なく、当日のワクチンにあまりがあるとき(1瓶で5人分として4人分以内の空き)、ワクチンを無駄にしないように、空き状況をお知らせして、未接種の人の接種を促すようにしたい。

2回目の接種が行えるようにする

クーポンは1回で使い捨てられる。
一人で複数のクーポンを持てるようにし、複数回の接種ができるようにする。
クーポンは使用済みかも管理する。

adminのユーザーを登録できるようにする

adminのユーザーを登録できるようにする。
登録の際はロールを設定できるようにする。
ロールを変更した際は、そのユーザーのロールは直ちに(ログアウトしなくても)変更されるようにする。
パスワードのリセット機能もつける。
連続したパスワード誤りのときはアカントをロックしたい。

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.