【個人用】読書管理アプリの開発を通して技術を学習していく
取り組みの目的
実践を通して開発のスキルアップをしたい
Udemyとかでインプットしてきたもののアウトプットの場
このスクラップの利用方法
- 開発の目的や学びたいこと、方針をブレないようにするためのメモ
- 開発過程のその都度の思ったことの記録・日記・振り返り
- 開発過程で躓いたことと対応策の記録
- その他ちょっとしたアウトプット用
あくまで個人用のため、文章の体裁とかは特に気にしない
読んでもらうための記事ではなく、自分のための書き殴り的な利用
作るものについて
何を作るか
読書管理アプリ
機能
-
必須
- 読書記録機能
- 読んだ本を記録できる(タイトル、著者、日にち、写真)
- 感想を記録できる
- 本の評価ができる
- 気になる本の記録
- 気になる本を登録できる
- 読書計画
- 年間・月間目標冊数を設定できる
- 目標に対する進捗度がわかる -
応用
- SNS連携
- SNSで読みたい本を投稿するとアプリに反映される
- 進捗度を月末に通知する
- 人気の本表示
- 本レビューサイトのAPIから今週の人気ランキングを取得して表示
作り方について
今回の開発の最低限の目的
- Javaのコーディング練習のため
- Webアプリケーションの設計・開発の体験のため
開発方法
フロントエンド
言語:Javascript or Typescript
できればReact使いたい
バックエンド
言語:Java 17
フレームワーク:Springboot
プロジェクト管理:Maven 3.8.6
DB
PostgreSQL
インフラ
ローカル環境
Dockerとか使ってみる
AWSへのデプロイとかも応用でできたら良い
PostgreSQLとPGadminをDockerコンテナで作成
参考資料
-
@あしたばさんが書かれた「Javaの基礎を学び終えたアナタに贈る, SpringBoot/SpringSecurityによる掲示板開発ハンズオン」
- とても丁寧で分かりやすい
- 自分のやりたい環境と似ていて、学習効率高い
2022.10.27
進捗
- Spring bootの雛形作成
-
spring initializrを用いて作成
- Project:Maven
- Language:Java
- SpringBoot:2.7.7
- Group:jp.personal.takaichi
- Artifact:MyBookshelfApp
- Name:MyBookshelfApp
- Description:[Default]
- Package name:jp.personal.takaichi.MyBookshelfApp
- Packaging:Jar
- Java ver:17
- Dependencies
- devtools
- lombok
- MyBatis Framework
- PostgreSQL Driver
-
spring initializrを用いて作成
- Hello World処理
- Webサイトのindexページのベース作成
- アプリ名「Shosai」に決定
学び
- Controller処理の概要
- 指定のurlに対する処理の記述方法の基礎
その他メモ
アプリ名変更
Shosai -> Biblio Binder
(ChatGPT君がおしゃれな名前を考えてくれました!)
2022.11.02
進捗
- node, yarnのインストール
- node:v18.12.0
- npm:8.19.2
- yarn:1.22.19
- Reactの雛形作成
npx create-react-app frontend
- フロントとのAPI連携
参考サイト
ToDo
素のReactで進めるか、Next.jsを使うか、決める
2022.11.03
進捗
- DB準備
- PostgreSQLとpgadminのdocker-composeファイル作成
- 初期テーブル作成、DBへの初期値挿入のSQLファイルを作成
- docker-compose起動
- resource/application.ymlファイル記述
- pom.xmlファイルにPostgresとMyBatisのdependency追加
→ 初期化実行したけど、テーブル作成されない
原因究明中
参考サイト
2022.11.09
進捗
- DB準備
- DDLファイル作成
- docker-compose.ymlファイル修正
- DB起動&初期テーブル作成確認
デバッグメモ
PGAdminの最初の「Add New Server」の設定で、General-Nameとdocker-composeのPOSTGRES_DBの名前を一緒にする
2023.07.04
進捗
- WSLのUbuntu22.04にnvm, node, yarnをインストール
2023.07.10
Done
- React&Typescriptのプロジェクト作成
npx create-react-app frontend --template typescript
- https://qiita.com/sanogemaru/items/05c2e9381d6ba2d9fccf
- prettier設定
- https://dev-yakuza.posstree.com/react/prettier/
- VSCodeに拡張機能追加&設定
- プロジェクトに
yarn add --dev prettier
ToDo
- ESLintのインストール
- その他開発ツールの調査と導入
2023.07.11
Done
- ESLintインストールとセッティング
ToDo
- husky / lint-staged設定
2023.07.12
Done
- husky / lint-staged設定
ToDo
- ホーム画面のレイアウトを簡単に作ってみる
- デザインの基礎について調べてみて、取り入れられそうだったら取り入れてみる
- Next.jsについて調べてみて、取り入れられそうだったら取り入れてみる
2023.07.15
Done
- Figmaで簡単なUIのワイヤーフレームを作ってみた
- 拘りすぎると際限ないから一旦テキトー
- GitHubみたいなコミットの可視化みたいな感じで、進捗管理してみたいけど実装方法がわからん
ToDo
2023.12.31
Macbook用に新たに環境を整備
「Biblio Traker」として新たにプロジェクト作成
オニオンアーキテクチャ検討
Done
- Gitリポジトリ作成
- ディレクトリ構成