開発中

主要な機能

postgisによる座標空間の計算

フルREST APIでvue.jsによるフロントエンド実装ですが、UXを考慮してPOSTする挙動がほしい画面も存在し、サーバーサイドとSPAをミックスした設計です。多言語化はgettextを使っています。

 

要約

ユーザー登録すると、ダッシュボードのプロフィール設定からユーザータイプが選択できる「モデル」、「フォトグラファー」いずれかのロールによって、写真撮影を依頼するユーザーか写真撮影を請負ユーザーになれる。

登録後にグローバルナビにある「写真撮影」から地図画面へ遷移すると性別、撮影価格、デバイスがフィルタリングできる。

条件を設定してオンラインにすると、WebSocketを接続し座標同期、チャットができる。

写真撮影を請負うユーザーは現在地からポリゴン座標を設定し、そのポリゴンの範囲内に撮影を希望するユーザーが入れば、相手側に表示される。

写真撮影を依頼する側はGPSの位置情報から写真撮影を請負うユーザーの撮影可能範囲に入れば依頼を行えるチャットが表示される。

 

サービス内容

◆写真を撮りたい人と写真を撮ってほしい人が、すぐにお互いを見つけられるGPSの位置情報を用いたサービス。

 

◆プロのカメラマンや写真の好きな人が、いい写真を残したいなと希望する誰かのために簡単かつすぐに写真を撮ることができます。

 

◆いつでも簡単に写真を撮れる時代だからこそ、一枚一枚が記念になるようなクオリティを持っていたら。

素敵な写真が残る体験を気軽な検索で日常化できるサービスです。

 

◆多言語対応により、海外から来た観光客の方々でも利用可能。世界中のカメラマンやカメラ愛好家が登録しているので、もちろん日本から海外旅行に出かけた先でも、プロの写真家による写真を残すことができます。

 

◆「家族で出掛けた時にふと写真を撮って残したいな」「いま誰かここで私達の写真撮ってくれないかな」と思ったとき、位置情報から写真を撮影してくれるすぐ近くの写真撮影が好きなユーザーや、カメラマンを検索することができます。

 

◆写真をいくらで撮ってくれるのか、所持しているツール(スマートフォン・ビデオカメラ・一眼レフなど細かにフィルタリングすることができます。

 

※ローカルでは動作確認していますが、締切ぎりぎりにGCPに構築したのでいくつか動作不良を起こしています。

まだ間に合っていませんが、近日中にクラウド部分の調整をすませるので最終で見てもらえると助かります。

Python 3.7.1
Javascript
Vue.js
WebSocket
uWSGI
Daphne
Nginx
PostgreSQL
PostGIS
Redis
Kubernetes
Docker
Sendgrid

 

dependencies

[packages]
django-storages = "==1.7.1"
django-htmlmin = "==0.10.0"
django-extensions = "==2.1.0"
bcrypt = "==3.1.4"
pytz = "==2018.5"
whitenoise = "==3.3.1"
"beautifulsoup4" = "==4.6.3"
cffi = "==1.11.5"
"html5lib" = "==1.0.1"
pycparser = "==2.18"
six = "==1.11.0"
webencodings = "==0.5.1"
Django = "==2.1"
uWSGI = "==2.0.17.1"
google-auth = "==1.5.1"
"google-auth-httplib2" = "==0.0.3"
google-api-python-client = "==1.7.4"
django-taggit = "==0.23.0"
django-imagekit = "==4.0.2"
django-webpack-loader = "==0.6.0"
social-auth-app-django = "==2.1.0"
django-filter = "==2.0.0"
django-cors-headers = "==2.4.0"
cachetools = "==2.1.0"
certifi = "==2018.8.24"
chardet = "==3.0.4"
defusedxml = "==0.5.0"
django-appconf = "==1.0.2"
djangorestframework = "==3.8.2"
google-api-core = "==1.4.0"
google-cloud-core = "==0.28.1"
google-cloud-storage = "==1.11.0"
google-resumable-media = "==0.3.1"
googleapis-common-protos = "==1.5.3"
"httplib2" = "==0.11.3"
idna = "==2.7"
oauthlib = "==2.1.0"
pilkit = "==2.0"
protobuf = "==3.6.1"
"pyasn1" = "==0.4.4"
"pyasn1-modules" = "==0.2.2"
"python3-openid" = "==3.1.0"
requests = "==2.19.1"
requests-oauthlib = "==1.0.0"
rsa = "==3.4.2"
social-auth-core = "==1.7.0"
uritemplate = "==3.0.0"
"urllib3" = "==1.23"
Pillow = "==5.2.0"
PyJWT = "==1.6.4"
stripe = "*"
djangorestframework-queryfields = "*"
"psycopg2-binary" = "*"
"psycopg2" = "*"
sendgrid = "*"
django-taggit-serializer = "*"
djangorestframework-gis = "*"
drf-writable-nested = "*"
djangorestframework-filters = "*"
channels = "*"
channels-redis = "*"
service-identity = "*"
daphne = "*"
dj-stripe = "*"
google-cloud-logging = "*"

チーム名
__ksh__
チーム
プロトタイパー
役割