This version refactors the project into a cleaner MVC architecture and upgrades the journal viewer into a more interactive nostalgic reading experience.
journal_modular_project/
|-- app/
| |-- config.py
| |-- controllers/
| | |-- journal_controller.py
| |-- models/
| | |-- entry.py
| |-- repositories/
| | |-- json_repository.py
| |-- services/
| | |-- journal_service.py
| |-- views/
| |-- main_view.py
| |-- styles.py
| |-- viewer_view.py
|-- journal_entries.json
|-- main.py
|-- README.md
- Model
JournalEntry
- View
MainViewJournalViewerView
- Controller
JournalController
- Service
JournalService
- Repository
JsonJournalRepository
- Warm paper-style reading panel
- Dusk mode for evening reading
- Font size controls
- Search and highlight inside an entry
- Reading progress bar
- Word count, character count, and estimated reading time
- Copy text button
- Quote card and reading snapshot side panel
python main.py- Edit existing entries
- Add tags and search in the main archive
- Export to PDF or Markdown
- Replace JSON with SQLite
- Add unit tests for service and controller logic