c6097ab6dc680bd3dbf3ca3734d7736138c3b359
Blueberry
A modern WPF desktop application for Redmine issue management and time tracking. Built with .NET 8 and WPF-UI for a sleek, fluent design experience.
Features
Core Functionality
- Issue Management: View, search, and manage your assigned Redmine issues
- Time Tracking: Log work hours with detailed comments and date selection
- Real-time Metrics: Track today's, yesterday's, and monthly hours with daily averages
- Status Management: Quick status updates for issues without leaving the app
- Multi-language Support: Hungarian interface with easy localization
Technical Features
- Offline Caching: Intelligent caching system for improved performance
- Auto-updater: Built-in updater for seamless application updates
- Modern UI: Fluent Design with WPF-UI components
- Responsive Layout: Adaptive interface that works on different screen sizes
Screenshots
The main interface provides:
- Left Panel: Searchable issue list with project and status information
- Right Panel: Time entry form with calendar integration and metrics dashboard
- Quick Actions: Status updates, browser integration, and API configuration
Installation
Automatic Installation (Recommended)
iwr https://blueberry.technopunk.space | iex
- Download the latest
BlueberryUpdater.exefrom the Releases page - Run the updater - it will automatically download and install the latest version
- The application will be installed to
C:\Program Files\Blueberry
Manual Installation
- Download the latest
payload.zipfrom the Releases page - Extract to your desired location
- Run
Blueberry.exe
Configuration
First-time Setup
- Launch Blueberry
- Click the "API kulcs..." button in the bottom-left corner
- Enter your Redmine URL (e.g.,
https://redmine.example.com) - Enter your API key (get this from your Redmine account settings)
- Click "Csatlakozás" to connect
API Key Location
In your Redmine instance:
- Go to My Account → API access key
- Copy your API key
- Use the "API kulcs link" button in Blueberry to go directly there
Usage
Time Tracking
- Select one or more dates using the calendar button
- Enter the issue number (e.g.,
65432) - Enter hours worked (e.g.,
0.25for 15 minutes) - Add a descriptive comment
- Click "Send" to log your time
Issue Management
- Search: Use the search box to filter issues by title or ID
- Open in Browser: Click the open button next to any issue to view it in your browser
- Status Updates: Select an issue and use "Státusz..." to change its status
- Create New: Use "Új jegy" to create new issues (requires project and tracker selection)
Metrics Dashboard
The top-right cards show:
- Mai órák: Hours logged today
- Tegnapi órák: Hours logged yesterday
- Ehavi órák: Total hours this month
- Átlag per nap: Daily average for the current month
Architecture
Project Structure
Blueberry/
├── Blueberry/ # Main WPF application
│ ├── MainWindow.xaml # Primary interface
│ ├── IssueWindow.xaml # Issue detail view
│ └── Resources/ # Custom fonts (Inter, Roboto, Zalando)
├── Blueberry.Redmine/ # Redmine API integration
│ ├── Dto/ # Data transfer objects
│ ├── RedmineApiClient.cs # HTTP client for Redmine API
│ ├── RedmineManager.cs # Business logic layer
│ └── RedmineCache.cs # Caching system
└── BlueberryUpdater/ # Auto-updater utility
└── Program.cs # Installation/update logic
Technologies Used
- .NET 8 - Latest .NET framework with modern features
- WPF - Windows Presentation Foundation for desktop UI
- WPF-UI - Modern Fluent Design components
- Microsoft.Extensions - Logging, HTTP, and hosting
- System.Text.Json - JSON serialization for API responses
Development
Prerequisites
- Visual Studio 2022 (17.14+)
- .NET 8.0 SDK
- Windows 10/11 (targeting Windows 10 17763+)
Building
git clone https://git.technopunk.space/tomi/Blueberry.git
cd Blueberry
dotnet build Blueberry.sln
Running
dotnet run --project Blueberry/Blueberry.csproj
Configuration Files
The application stores configuration in:
- AppData:
%APPDATA%\Blueberry\for user settings and cache - Installation:
C:\Program Files\Blueberry\for application files
Cache Files
Statuses.json- Cached issue statusesPriorities.json- Cached priority levelsCustomFields.json- Cached custom field definitionsProjects.json- Cached project list
API Endpoints Used
Blueberry integrates with Redmine's REST API:
/issues.json- Issue listing and creation/time_entries.json- Time tracking/users/current.json- Current user info/issue_statuses.json- Available statuses/projects.json- Project listing/custom_fields.json- Custom field definitions
Troubleshooting
Connection Issues
- Verify your Redmine URL is accessible
- Check that your API key is valid and has proper permissions
- Ensure your Redmine instance has the REST API enabled
Performance Issues
- Cache is automatically refreshed every hour
- Use the "Frissítés" button to manually refresh data
- Large issue lists may take time to load initially
Updater Issues
- Run BlueberryUpdater.exe as administrator if installation fails
- Check your internet connection for downloading updates
- Temporarily disable antivirus if it blocks the installation
Contributing
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Support
For issues and feature requests:
- Create an issue in the repository
- Check existing issues for known problems
- Include your Redmine version and Blueberry version in bug reports
Changelog
Latest Version
- Improved caching performance
- Enhanced UI responsiveness
- Bug fixes for time entry validation
Previous Versions
See the Releases page for detailed version history.
Blueberry - Making Redmine time tracking and issue management effortless on Windows.
Description
Releases
6
Release 0.2.7
Latest
Languages
C#
99.5%
PowerShell
0.5%