https://github.com/arata1202/nextblogapp
Next.jsとMicroCMSでブログ開発中。WordPressからの移行が目的。デプロイ先はVercelで、バックエンドはPHPで実装したAPI。
https://github.com/arata1202/nextblogapp
microcms nextjs typescript vercel
Last synced: 2 months ago
JSON representation
Next.jsとMicroCMSでブログ開発中。WordPressからの移行が目的。デプロイ先はVercelで、バックエンドはPHPで実装したAPI。
- Host: GitHub
- URL: https://github.com/arata1202/nextblogapp
- Owner: Arata1202
- Created: 2024-05-02T23:41:49.000Z (about 1 year ago)
- Default Branch: master
- Last Pushed: 2024-05-22T01:23:35.000Z (about 1 year ago)
- Last Synced: 2024-05-22T13:08:39.845Z (about 1 year ago)
- Topics: microcms, nextjs, typescript, vercel
- Language: TypeScript
- Homepage: https://realunivlog.com
- Size: 2.9 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README


## 目次
- [リアル大学生](#top)
- [目次](#目次)
- [リンク一覧](#リンク一覧)
- [主な機能一覧](#主な機能一覧)
- [使用技術](#使用技術)
- [環境構築](#環境構築)
- [ディレクトリ構成](#ディレクトリ構成)
- [Gitの運用](#Gitの運用)
- [ブランチ](#ブランチ)
- [コミットメッセージの記法](#コミットメッセージの記法)## リンク一覧
(トップへ)
## 主な機能一覧
※本番環境ではGoogle AdSenseによる広告が表示されます。
| 最新記事ページ | カテゴリーページ |
| ---------------------------------- | ------------------------------------------------ |
|  |  |
| 最新記事を一覧表示するページです。 | 特定のカテゴリーの記事を一覧表示するページです。 |
| タグページ | お問い合わせページ |
| ------------------------------------------ | ------------------------------------ |
|  |  |
| 特定のタグの記事を一覧表示するページです。 | 管理者にお問い合わせするページです。 |
| アーカイブページ | 記事ページ |
| ------------------------------------------ | -------------------------------- |
|  |  |
| 特定の年月の記事を一覧表示するページです。 | 記事を表示するページです。 |
| サイトマップ・RSS | ダークテーマ |
| -------------------------------------------- | ------------------------------------------------------ |
|  |  |
| XML形式のサイトマップとRSSを公開しています。 | ライトテーマとダークテーマを切り替えることができます。 |
(トップへ)
## 使用技術
| Category | Technology Stack |
| ----------------- | --------------------------------------------- |
| Frontend | Next.js, TypeScript, Tailwind CSS |
| Backend | Go |
| CMS | MicroCMS |
| Infrastructure | Cloudflare Pages, Vercel |
| Environment setup | Docker |
| CI/CD | GitHub Actions |
| Design | Figma, Canva |
| Google | AdSense, Analytics, Search Console, reCAPTCHA |
| etc. | PWA, OneSignal, Pipedream |
(トップへ)
## 環境構築
```
# リポジトリのクローン
git clone [email protected]:Arata1202/NextBlogApp.git
cd NextBlogApp
# .env.exampleから.envを作成
mv .env.example .env
# .envの編集
vi .env
# コンテナのビルドと起動
docker compose up -d --build
# ブラウザにアクセス
http:localhost:3000
# コンテナの停止
docker compose down
```
(トップへ)
## ディレクトリ構成
```
❯ tree -a -I "node_modules|.next|.git|out|.vercel|_|.DS_Store|.env|next-env.d.ts|tmp" -L 3
.
├── .air.toml
├── .docker
│ ├── go
│ │ └── Dockerfile
│ └── js
│ └── Dockerfile
├── .docs
│ └── readme
│ └── images
├── .env.example
├── .github
│ └── workflows
│ └── vercel_deploy.yml
├── .gitignore
├── .husky
│ └── pre-commit
├── .nvmrc
├── .prettierignore
├── .prettierrc
├── .vercelignore
├── .vscode
│ ├── extensions.json
│ └── settings.json
├── LICENSE
├── README.md
├── api
│ ├── recaptcha.go
│ └── sendemail.go
├── cmd
│ └── main.go
├── docker-compose.yml
├── eslint.config.mjs
├── go.mod
├── next.config.ts
├── package-lock.json
├── package.json
├── pnpm-lock.yaml
├── postcss.config.mjs
├── public
│ ├── OneSignalSDKWorker.js
│ ├── ads.txt
│ ├── app-ads.txt
│ ├── favicon.ico
│ ├── images
│ │ ├── blog
│ │ ├── head
│ │ ├── plugin
│ │ ├── post
│ │ ├── pwa
│ │ └── thumbnail
│ └── robots.txt
├── src
│ ├── app
│ │ ├── archive
│ │ ├── articles
│ │ ├── category
│ │ ├── contact
│ │ ├── copyright
│ │ ├── disclaimer
│ │ ├── layout.module.css
│ │ ├── layout.tsx
│ │ ├── link
│ │ ├── manifest.json
│ │ ├── not-found.module.css
│ │ ├── not-found.tsx
│ │ ├── p
│ │ ├── page.tsx
│ │ ├── privacy
│ │ ├── profile
│ │ ├── sitemap.ts
│ │ └── tag
│ ├── components
│ │ ├── Common
│ │ ├── Features
│ │ ├── Pages
│ │ └── ThirdParties
│ ├── constants
│ │ ├── archive.ts
│ │ ├── category.ts
│ │ ├── data.ts
│ │ ├── limit.ts
│ │ └── tag.ts
│ ├── contents
│ │ ├── copyright.ts
│ │ ├── disclaimer.ts
│ │ ├── link.ts
│ │ ├── privacy.ts
│ │ └── profile.ts
│ ├── contexts
│ │ ├── ThemeProvider.tsx
│ │ └── ThemeWrapper.tsx
│ ├── hooks
│ │ ├── useExtractHeadings.ts
│ │ └── useMutationObserver.ts
│ ├── libs
│ │ ├── microcms.ts
│ │ └── rss.ts
│ ├── styles
│ │ ├── globals.css
│ │ └── plugin.css
│ ├── types
│ │ ├── form.ts
│ │ ├── heading.ts
│ │ └── microcms.ts
│ └── utils
│ └── formatDate.ts
├── tailwind.config.ts
├── tsconfig.json
└── vercel.json
49 directories, 67 files
```
(トップへ)
## Gitの運用
### ブランチ
GitHub Flowを使用する。
masterとfeatureブランチで運用する。
| ブランチ名 | 役割 | 派生元 | マージ先 |
| :--------: | :------: | :----: | :------: |
| master | 本番環境 | - | - |
| feature/\* | 機能開発 | master | master |
### コミットメッセージの記法
```
fix: バグ修正
feat: 新機能追加
update: 機能更新
change: 仕様変更
perf: パフォーマンス改善
refactor: コードのリファクタリング
docs: ドキュメントのみの変更
style: コードのフォーマットに関する変更
test: テストコードの変更
revert: 変更の取り消し
chore: その他の変更
```
(トップへ)