https://github.com/gadgeski/bugmemo
A project to make it easier to log and find bugs
https://github.com/gadgeski/bugmemo
android android-datastore android-navigation android-room bug-tracker coroutines github-actions gradle jetpack-compose kotlin material3 mvvm
Last synced: 7 months ago
JSON representation
A project to make it easier to log and find bugs
- Host: GitHub
- URL: https://github.com/gadgeski/bugmemo
- Owner: gadgeski
- Created: 2025-09-24T00:39:57.000Z (7 months ago)
- Default Branch: main
- Last Pushed: 2025-10-08T08:14:04.000Z (7 months ago)
- Last Synced: 2025-10-08T10:13:31.506Z (7 months ago)
- Topics: android, android-datastore, android-navigation, android-room, bug-tracker, coroutines, github-actions, gradle, jetpack-compose, kotlin, material3, mvvm
- Language: Kotlin
- Homepage:
- Size: 422 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: Readme.md
Awesome Lists containing this project
README
#BugMemo (Android / Kotlin / Compose)
モバイル開発中の バグやメモを素早く記録 するシンプルなノートアプリ。フォルダ分け・検索・(将来)マインドマップ表示に対応。
---
##主な機能
- バグメモの作成・編集・削除(Undo で復元可)
- フォルダ管理(作成・削除・絞り込み)
- 検索(タイトル/本文の部分一致)
- スター付け(重要メモのマーキング)
- DataStore による検索語・絞り込みの永続化
- Room によるローカル永続化(マイグレーション対応)
##画面構成
- Bugs: 一覧+右ペイン編集(FAB から新規)
- Search: クエリ入力でリアルタイム検索、結果から編集へ
- Folders: フォルダ一覧・作成・削除、選択で絞り込み
##技術スタック
- Kotlin / Coroutines / Flow
- Jetpack Compose (Material 3, Navigation, Lifecycle)
- Room (DAO / Migration)
- DataStore (Preferences)
- Unit Test(JUnit4)
- Lint & Spotless(ktlint 連携)による静的検査・整形
---
##セットアップ
# 依存解決・同期
```
./gradlew help
```
# デバッグビルド
```
./gradlew assembleDebug
```
品質チェック
# コード整形(全体を自動修正)
```
./gradlew spotlessApply
```
# 整形チェック(CI と同等)
```
./gradlew spotlessCheck
```
# Lint(baseline あり)
```
./gradlew lint
```
# ユニットテスト
```
./gradlew test
```
Lint で baseline created と出た場合はローカルで baseline をコミットして再実行してください。
##開発メモ(Architecture 概要)
- NotesViewModel
- UiEvent による Snackbar 通知(メッセージ/Undo)
- query, filterFolderId を DataStore へ保存・復元
- notes は(検索 × フォルダ)で動的フィルタ
- Repository 層
- RoomNotesRepository(本番)/InMemoryNotesRepository(テスト)
- DB
- AppDatabase v2(notes.isStarred 列を追加する Migration 1→2 実装)
- ナビゲーション
- AppScaffold → AppNavHost → 各 Screen
---
##CI
GitHub Actions で以下をチェックします。
- spotlessCheck
- lint
- test
##失敗時のよくある原因:
- README など “misc” 対象ファイルの末尾スペース/改行
- ktlint の import 並び順/命名規約
- baseline 未コミットによる Lint 失敗