-
Notifications
You must be signed in to change notification settings - Fork 0
Open
3 / 83 of 8 issues completedLabels
Description
Summary
Build a web application to manage a single .bib file as a database, enabling book review display across multiple personal blogs.
Motivation
- Centralize bibliographic data in a single
references.bibfile - Support multiple blogs (Hugo, Astro) with blog-specific metadata
- Simplify the workflow of adding books from Google Books
- Maintain data integrity through validation and GitHub-based version control
Requirements
1. Search Window
- Local search: Search existing entries in
references.bibby keyword - Google Books search: Display search results in a side overlay
- Show book cover, title, author, and other metadata
- "Add to Library" button for each result
2. Add to Library Flow
When user clicks "Add to Library":
- Fetch BibTeX data via Google Books API
- Generate citation key in
author-year-titleformat - Validate required fields (user-defined)
- If missing fields: display input form for manual entry
- Merge into existing
references.bib - Push update to GitHub via GitHub App
3. Custom Metadata Management
- Maintain a separate JSON file (
custom_info.json) for blog-specific metadata - Join with
references.bibby citation key - Features:
- Unified editing UI (user doesn't need to know about two separate files)
- Freely add custom fields per blog/site
- No backfilling: new fields don't propagate to existing records
- Field name suggestion to prevent typos/inconsistencies
4. Future Extensions
- Support academic journal searches (e.g., Elsevier-specific journal search)
- Additional data sources beyond Google Books
Technical Considerations
- Data storage: File-based (Git) vs Document DB (see ADR-0002)
- GitHub App integration for authenticated pushes
- Search indexing strategy for efficient queries
- Schema validation for BibTeX entries
Acceptance Criteria
- User can search local library and Google Books
- User can add books from Google Books with validation
- User can edit blog-specific metadata through unified UI
- Changes are automatically pushed to GitHub
- Field name suggestions work correctly
- CI passes (format check + lint)
Child Issues
- Project Foundation (Makefile, CI) #1
- Data Files Setup #2
- Web UI Foundation #3
- Local Library Search #4
- Google Books Search and Import #5
- GitHub App Integration #6
- Custom Metadata Editor #7
- Field Name Suggestions #8
- Academic Journal Search #9
Related
Reactions are currently unavailable