みんなで作るさくら情報マップ

　これは、WEB上に、見知らぬ人たちが各々、撮ったさくらの写真をアップロードし、それらを地図上に表示するというサイトだ。
　まだ完全版ではないが、下記のURLで既に利用できる。

https://kojikoji.pythonanywhere.com/

　是非アクセスして写真を登録してほしい。

　スマホ等の設定の注意点が２つある。①プライバシーの設定等で、位置情報を知らせる設定にしておくこと②カメラの設定で、位置情報を含ませる設定にしておくこと。

　今の初版では、匿名であればよく、パスワードの設定は必要ない。またメールアドレスなどの個人情報も登録の必要がない。とはいえ、写真とその位置情報の掲載は、間接的に自分の情報の公開にもつながりかねない。今回の初版は、その地図上の写真を誰（登録名）がアップロードしたかわからないようになっているし、アップロードした人であれば、その写真をWEB上からすみやかに削除できるようになっている。それでよければ、登録してみてほしい。

　これは、将来的に、災害時に、各自がスマホ等で写真をとったものをこのWEB上にアップロードし、災害情報につなげるための雛形である。
　一般の人が撮った写真や動画は、ニュースやSNS上にあがるように既になっている。このWEBサイトは、みんながWEB上で、写真とその位置情報、日時が、簡単に投稿でき、確認できることが少し新しい。

 ①  このプロトタイプMapNS_Pro～個人写真のアルバム管理に利用できる～

 MapNS_Pro
/
├── app.py
├── templates/
│ ├── index.html
│ └── result.html
│ └── leaflet.css / leaflet.js（CDNでも可）
├── uploads/
└── requirements.txt

　Python-Flaskをつくって作成していった。

　下記の作業の延長線上にある 

https://qiita.com/tkoji3744/items/08b71054dfba4f93f2c4

 　個人でつかうものなので、写真の分類を「プロジェクト」としてつくり、新規プロジェクト作成して写真追加、あるいは既につくったプロジェクトに写真追加できるようにした。

App.pyを起動し、http://127.0.0.1:5000/　を表示すると下記のような画面が出現。 

![5000_1.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3676736/207ab663-0967-4a89-a528-b2e8948ea651.jpeg)

 

![5000.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/3676736/6b703c58-365f-4a2c-bc01-21f40f4e4bcb.jpeg)

 ②  MapNS_SakuraEdition～みんなで作るさくら情報マップ～

 　基本は①の改良である。プロジェクトは複数でなく「みんなで作るさくら情報マップ」ひとつだけに減る。
　仮名でよい（パスワード登録、個人情報登録は不要）が名前登録画面をつくり、協力者を一覧表示。写真とコメントを投稿 → 地図にマッピング後も、自分の投稿だけ削除できるように。また、写真はだれが投稿したかはわからないようにした。また、 スマホでの閲覧＆投稿にも配慮した。 

　そして難関は、PythonanywhereへのこのPython-Flaskファイルのデプロイ 

https://qiita.com/tkoji3744/items/2f605cef3348d650f7dd 

　ここでまた手順を示すが、ChatGPT4の助けがなかったら今回も達成できなかったし、達成しても何か狐につままれたかんじ（ピンとこない）。 

1️⃣ PythonAnywhere にログイン

https://www.pythonanywhere.com にアクセス

無料アカウント登録（Beginner プランでOK）

ダッシュボードに入る

2️⃣ ダッシュボードの「Files」⇒ZIPファイルをアップロード＆展開

ダッシュボードの「Files」をクリック

下にある「Upload a file」から MapNS_SakuraEdition_v3.zip をアップロード

アップロード後、ターミナル or Bash で以下を実行：

bash
unzip MapNS_SakuraEdition_v3.zip

👉 すると /home/kojikoji(your_username)/MapNS_SakuraEdition_v3/ が展開される！

（そこには、Pythonanywhere独自のDirectoryやFileが数多く混在していて、一見、展開できてないようにもえるが、よくみると展開されていることがわかる）

3️⃣ ダッシュボードの「WEB」⇒　Flaskアプリを Web App に登録

上部メニューの「Web」をクリック

「Add a new web app」ボタン → Manual Configuration を選ぶ（Flask）

Pythonのバージョンは 3.x（新しめ）を選ぶ

「Source code」ディレクトリには：/home/kojikoji(your_username)/MapNS_SakuraEdition_v3

WSGIファイルを編集（リンクが出てくる）→ wsgi.py の中身を次のように：

import sys
import os
from pathlib import Path
　＃ 追加
project_home = str(Path("/home/your_username/MapNS_SakuraEdition_v3").resolve())
if project_home not in sys.path:
sys.path.append(project_home) 

os.chdir(project_home)
from app import app as application # ←app.py の Flask app を起動

4️⃣ ダッシュボードの「Console」⇒Flask の依存ライブラリをインストール

左側メニュー「Consoles」 → 「Bash」を開いて以下を実行：

bash
pip install --user flask pillow exifread 

5️⃣ ダッシュボードの「WEB」⇒Web アプリを再起動して公開！

「Web」ページに戻って「Reload」をクリック

（注意）Warning: No virtualenv detected at this path. Do you need to create it? これは「仮想環境（virtualenv）が正しく設定されていない」という意味ですが、今回の構成は「仮想環境なしのグローバル環境」で十分動く構成になっているのでこの警告は無視して大丈夫。

URL　https://kojikoji.pythonanywhere.com/ にアクセスすると、 MapNS Sakura Edition がネット上に表示される        



　今回の「みんなで作るさくら情報マップ」は、災害時に、各自がスマホ等で写真をとったものをこのWEB上の地図にアップロードし、災害情報につなげるための雛形となりうる。