nuxt.js+Firebaseでブログを作るまで1

個人開発でマネタイズ可能なサービスを思い付いたが、とりあえずサクッとプロトタイプを作りたいので、前にも作ったnuxt.js+Firebaseの構成で、stripeで支払い出来るようにしたい。

デザイン方面が弱いので、まずはブログ的なもの、というか"note"の簡易版のようなものでも作ってデザインを色々いじってみようかなと思う。

方針

googleアカウントでログイン可能
ログインすれば誰でも記事を投稿できる

よくあるブログの管理画面みたいなものは無し
ログインしてれば自分の記事はそのまま編集ができる
デザインは投稿者側が変更できない
記事に画像がUPできる
編集はMarkdownかな

開発開始

とりあえずfirebaseにプロジェクトを作成後、dockerでnuxt開発環境を作成

Dockerfile

FROM node:12.9.0-alpine

ENV TZ Asia/Tokyo
WORKDIR /app

RUN apk update && \
   npm install -g npm && \
   npm install -g vue-cli && \
   npm install -g nuxt && \
   npm install -g create-nuxt-app && \
   npm install -g firebase-tools

ENV HOST 0.0.0.0
EXPOSE 3000
EXPOSE 9005

RUN yarn

docker-compose.yml

version: "3"
services:
 web:
   build: .
   ports:
     - 3030:3000
     - 9005:9005
   volumes:
     - .:/app
   stdin_open: true
   tty: true
   command: yarn dev

docker-compose使う必要ない気もするが、微妙にポートの割当変更していたりするので使う。(他のアプリとの共存用)


dockerコンテナ内での初期操作

docker-compose run --rm web ash
> create-nuxt-app .
> firebase login
> firebase init

firestoreのデータ構造を考える

・ログインユーザであり記事の作者でもあるAuthor
・記事であるArticle
とりあえずこの2つがあればいい。
AuthorのサブコレクションとしてArticleを置けばいいか。
AuthorのIDはログイン後に自由入力(重複不可)させてURLとして使う感じで。

とりあえず今日はここまで
あとやること
・SSRするかどうか考える
・公開はFirebase Hostingにするか、now.shにするか、練習のためにAWSにdockerをデプロイしてみたいとも思う
・実際の開発

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