A beautiful, terminal-based journaling application built with Go and the Charmbracelet Bubble Tea framework. jou provides an intuitive command-line interface for creating, editing, and managing your daily journal entries.
- Create Journal Entries: Write and save your daily thoughts and experiences
- View Entries: Browse through your journal entries with a clean, readable interface
- Edit Entries: Modify existing journal entries with ease
- List Management: View all your journal entries in an organized list
- SQLite Storage: All your entries are stored locally in a SQLite database
- Beautiful UI: Clean, modern terminal interface with intuitive navigation
- Keyboard Shortcuts: Efficient navigation with keyboard controls
- Go 1.23.0 or later
- A terminal that supports ANSI escape codes
# Clone the repository
git clone https://github.com/cheersmas/jou.git
cd jou
# Build the application
go build -o jou main.go
# Run the application
./jou- Arrow Keys or j/k: Navigate through menu options and journal entries
- Enter: Select an option or open a journal entry
- Backspace: Return to the main menu
- Ctrl+C: Exit the application
- Add: Create a new journal entry
- View: Browse and read existing journal entries
- Edit: Modify existing journal entries
- Start typing in the text area to write your entry
- Use standard text editing shortcuts
- Save your entry using the appropriate keyboard shortcut
- Navigate back to the menu when finished
- Bubble Tea Framework: Powers the TUI (Terminal User Interface)
- SQLite Database: Stores journal entries locally
- Clean Architecture: Separation of concerns with ports and adapters
- Repository Pattern: Data access abstraction
# Clone the repository
git clone https://github.com/cheersmas/jou.git
cd jou
# Install dependencies
go mod download
# Run the application
go run main.go# Build for current platform
go build -o jou main.go
# Build for multiple platforms
GOOS=linux GOARCH=amd64 go build -o jou-linux main.go
GOOS=windows GOARCH=amd64 go build -o jou-windows.exe main.go
GOOS=darwin GOARCH=amd64 go build -o jou-macos main.goWe welcome contributions! Please see our Contributing Guidelines for details.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow Go best practices and conventions
- Write tests for new features
- Update documentation as needed
- Ensure code is properly formatted with
gofmt - Use meaningful commit messages
- Extra line on textarea
- Backspace removes characters on cancelling confirmation screen
- Add search functionality for journal entries
- Implement journal entry categories/tags
- Add export functionality (JSON, Markdown)
- Implement journal entry templates
- Add dark/light theme support
- Implement journal entry encryption
- Add journal statistics and insights
This project is licensed under the MIT License - see the LICENSE file for details.
- Charmbracelet for the amazing Bubble Tea framework
- Lip Gloss for beautiful terminal styling
- The Go community for excellent tooling and libraries
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue if your problem isn't already reported.
- Join our discussions for community support
Happy Journaling!