---
# System prepended metadata

title: 森さん課題

---

# 森さん課題

## 規模感

まあまあ

## 環境指定

- 素のPHP
    - 7系ならおｋ
    - 自作FWで！
- MYSQL
    - 古くなければおｋ
- 他ENV
    - レンタルサーバーでもVPSでも
- フロントエンド
    - jQuery
    - 管理画面テンプレート（Beagleでもおｋ）

## 仕様

### ログイン機能

- 電話番号認証を扱う
    - FireBaseのfirebase authenticationで！
- 他はユーザー名とメールアドレス、パスワードの3つでおｋ

### メーラー

:::success
Gmail等でおｋ
:::

- PHPでメールを受信・送信する
- メールは最大で最新の500件を取得し、100件ごとにページャーにする
- メールを送信する際は、フロントでjQueryのWYSIWYGエディタを扱う
    - Wordpressに搭載されている[TinyMceエディタ](https://www.tiny.cloud/)のClassic Modeで！

### 可能であれば、リアルタイムチャット機能

:::danger
出来なければ一緒に書きます
:::

- ユーザー検索またはユーザー一覧ページでフォロー
    - フォローされたらそのユーザーに管理画面上で通知される
    - 承認されれば、個別チャットページで空のチャットが作成される
- 個別チャット機能
    - websocketでもsetInterval経由のajaxでも

## 細かい仕様

### 管理画面テンプレートを扱うにあたって

- メインメニューの構造は以下とする
```
- ホーム
- メール
    - 一覧
    - 新規作成
- チャット（可能であれば）
    - ユーザー検索またはユーザー一覧
    - 個別チャット
- 設定
・チャット機能のプロフィール画像
・チャット機能のユーザ名（ログイン情報とは別途に）
・チャット機能のユーザーdescription
・メール送信時の署名情報の設定
・パスワードの変更
- ログアウト
```

## 目的

### わざわざ素のPHP && 自作FWで開発を行う理由

- 巷のFWを利用すると必要な物は当然のように搭載されているため、01でロジカルに設計を行う事に重点を置いている
- 普段は書くことの無いようなチャット機能を01で開発することによって、設計の重要さやロジカルな立ち回りの学習等行える

## 備考

- 開発途中で不明点等あればいつでも言ってください！
- 「書けそうに無い」若しくは「自分ならどう書くか・どう設計するか」等、随時言ってください！

以上です