学校において教員・生徒間の連絡ができるサイトを作成しました。教員が連絡をサイトに投稿すると生徒がメッセージを閲覧できます。生徒はメッセージに対してコメントを投稿することもできます。ログインすれば保護者も教員から生徒に当てたメッセージを閲覧することができます。教員・生徒がどのようなやり取りをしているか透明性を確保しつつ、連絡の内容はログインしたユーザーだけ見ることができるようにしてプライバシーを確保しています。部活動やクラスなどの連絡掲示板サイトとして活用できるのを期待しています。
まだ完成しておりませんが、途中までの機能を随時公開しています。10月前半ごろには基礎的な機能の実装を終える予定です。
https://bukatsu-renraku.herokuapp.com/
- 名前 : 教員1
- パスワード : password
- 名前 : 生徒1
- パスワード : password
- 名前 : 保護者1
- パスワード : password
「ログイン」をクリックして、名前・パスワードを入力してログインしてください。
連絡のタイトル一覧はログインしなくとも閲覧できます。連絡の詳細を見たりコメントを投稿したりするには名前・パスワードでログインする必要があります。
学校では部活動やクラスなどにおいて教員と生徒、または教員と保護者が学校外で直接連絡をとらなければならないことがあります。教員・生徒・保護者が直接連絡先を交換することは原則禁止としている学校が大半です。しかし現実には多くの教員が生徒・保護者とLINEのようなSNSアカウントや携帯電話の番号を交換して連絡を取らざるを得ないのが実情です。
教員と生徒・保護者とが直接連絡先を交換することは、教員と生徒が不適切な関係を持ったり、学校の認知しない場所において教員と保護者がトラブルを抱えたりする恐れがあります。また、プライベートな用途での使用が多いLINEアカウントや電話番号を学校のフォーマルな場で知らせることにより、仲が良いとは限らない人にもプライベートの連絡先を知らせなければならず、プライベートな場とフォーマルの場の境が曖昧になってしまいます。
教員と生徒・保護者が周囲の目の届かない所で一対一の連絡を取るのを避け、オープンな場所で連絡をとれるようにするのがトラブルを防ぐためにも安心です。一方で、関係者でなければ連絡が見えないようにしてプライバシーを確保する必要もあります。透明性を確保しつつもプライバシーを確保した連絡プラットフォームが必要と考えます。
既存のSNSアカウントを用いるのではなく、ブラウザでアクセスできる独自のウェブサイトを用いることにより、プライベートなアカウントを多数の他人に知らせることなく連絡を取ることが可能になります。
教員・生徒・保護者がウェブサイトでログインをした場合に連絡をできるようにしました。教員が連絡事項を投稿すると、生徒はそれを閲覧できます。生徒は教員の投稿した連絡に対して、必要であれば簡単なコメントすることができます。保護者は教員と生徒がどのような連絡をしているか閲覧できます。
教員・生徒間のやり取りに保護者が過度に関わることは生徒の自律性を育む上で好ましくありません。一方でやり取りが保護者の目に全く届かないのも望ましいものではありません。今回作成したアプリケーションでは保護者が教員に問い合わせをする場合は学校に直接連絡してもらうことにし、保護者は閲覧のみができるようにしています。
- ユーザー登録ができる
- ログインした人だけが詳しい情報にアクセスできる
- ユーザーに異なる区分(教員・生徒・保護者)がある
- 教員だけが投稿できる
- トップページにはタイトルの一覧が表示される
- 詳細ページはログインしたすべてのユーザーが閲覧できる
- 教員・生徒だけが投稿でき、保護者は閲覧だけができる
- 投稿した本人は自分のコメントを編集できる
- コメントの投稿者がわかる
- スマートフォンでもストレスなく表示できる
- 投稿へのタグ付けができる
- 特定のタグが付けられた投稿だけを表示できる
- 自分の登録情報を編集できる
- 個人宛の請求書を表示できる
- 生徒・教員の間でメッセージを投稿できる
- 教員宛メッセージは他の教員も閲覧できる
図 テーブル設計ER図
Column | Type | Options |
---|---|---|
name | string | null: false |
string | null: false | |
password | string | null: false |
phone | string | null: false |
admin | integer | null: false |
- has_many :posts
- has_many :comments
- has_one :student_detail
- has_one :leader_detail
Column | Type | Options |
---|---|---|
user | references | null: false, foreign_key: true |
grade | integer | null: false |
class | string | null: false |
parent1 | integer | |
parent2 | integer |
- belongs_to :user
Column | Type | Options |
---|---|---|
user | references | null: false, foreign_key: true |
position | integer | null: false |
- belongs_to :user
Column | Type | Options |
---|---|---|
title | string | null: false |
content | references | null: false |
user | references | null: false, foregin_key: true |
- belongs_to :user
- has_many :post_tags
- has_many :tags, through: :post_tags
- has_many :comments
Column | Type | Options |
---|---|---|
post | references | null: false, foreign_key: true |
user | references | null: false, foregin_key: true |
comment | text | null: false |
- belongs_to :post
- belongs_to :user
Column | Type | Options |
---|---|---|
post | references | null: false, foreign_key: true |
tag | references | null: false, foregin_key: true |
- belongs_to :post
- belongs_to :tag
Column | Type | Options |
---|---|---|
tag | string | null: false |
- has_many :post_tags
- has_many :posts, through: :post_tags
- Ruby 2.6.5 以上
- Rails 6.0.0 以上
- MySQL
以下はコマンドライン(ターミナル)での操作を前提としています。
- リポジトリをgit cloneしてください。
- アプリケーションのルートフォルダ(bukatsu)に移動し、「bundle install」を実行してください。
- 「rails db:create」を実行してください。
- 「rails s」を実行してください。
- ブラウザで 「localhost:3000/」にアクセスしてください。
- 初回は「localhost:3000/users/first_user」にアクセスして管理者ユーザーを登録してください。
- 終了する際は「Control + C」を入力してください。