見出し画像

画像投稿システムについて調べる

野望(野望?)であるクリエイターの心をまもるプラットフォーム制作のために、まずちっさいところからやってくぞってことで自分だけのサイズ感で作ってみることにしたところ、既存サービスを使っての投稿では作成が難しいのではということで一旦投稿機能はリジェクトしてサイトを作成しましたというところでそのリジェクトした部分についてどうやったら作れるだろうってことを調べてみたことをまとめる記事である。

前置き終わり!機能整理

まず、投稿機能を自前で作るにあたり必要なものを考えてみる

  • 投稿画面

  • 投稿した内容を格納しておくDB

  • 投稿した画像を格納しておくストレージ

  • ログイン機能(一旦一人だけ使うので最初からアカウントは作成しているものとする(IPや他の手段での認証でも可能ならそちらでもいい)):ログイン機能もAPIに入るのかなというのはまだちょっとわかってない

  • 投稿画面とDB、ストレージへのデータ格納を担うAPI(POSTかな)

  • DBとストレージに格納されたデータを加工して返すAPI(GETかな)

  • サーバー処理を通してのAPI制御(API呼び出し元を制御する的な)

一応このくらいになるんだろうか。
ログインします→投稿します→投稿した内容がDBとストレージに入ります→DBとストレージから加工された情報を表示処理するプログラムに渡します→投稿された内容が表示に反映されます
だから一応あってる気はする。

これ普通にやろうと思うとめっちゃお金かかりそうよ。サーバーレスでやってみん?

つことで最近(でもない)流行のサーバーレスならワンチャン費用抑えられる……?(不純な動機)
でちょっと調べてみたらAWSが体系的に使えそう……?
でもお高いんでしょう……?あ、でも小規模ならそんなでもない……かも……
……AWSをローカルで試せるツールがあるだと……!!?

Localstackというサービスを使えばローカルでAWSの機能が試せるらしい

何その神ツール。
公式サイトはこちら

無料プランでもそこそこのサービスが使えそうです。
(ちなみにせっかくだからPostgreSQL使ってみるのもいいかしらと思ってたけれどもPostgreSQLが使えるAWS RDSについては有料でないと使えない様でした。ちょっと無念)
DynamoDBは無料範囲で使えるそうなのでDB問題もクリアかな。
(複雑なことするならRDS使える必要あるかもしれないと思った。)

APIの許可範囲ってどうやって設定すんのさ

まぁそもそもAPI作ったことないんだけど(いきなり自転車補助輪も補助もなしで走り出そうとしてないか?)(まずはローカルで失敗しまくる予定だから大丈夫)
MicroCMSで似たような質問があって「Serverless Functionsで判別してそこ経由でAPI通すことで実装できるよ」的な回答があったのでできるんじゃなかろうか

上記回答の中でServerless Functionsについて紹介されてたのがこっち

この記事の中でAWS Lambda Functionsも例に出てるから多分できる

ほならあとは作ってみるだけかー

とはいえこの記事の自分的〆切が迫っているので今回はここまで
(構成図とやらを描いてみようと思ったけどさすがにわからんかった……。)

そんで今更気がついた

これって、CMSを自作する……ってこちょ??

この記事が気に入ったらサポートをしてみませんか?