Skip to content

cjRem44x/LakeLogger

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🎣 Lake Logger

A sleek, dark-themed desktop application for bass fishing enthusiasts to log catches, track patterns, and analyze fishing data.

Java Platform License

✨ Features

πŸ“ Log Catches

  • πŸ“… Date and time of catch
  • βš–οΈ Bass weight (lbs) and length (inches)
  • πŸ“ Location (custom, saved for reuse)
  • 🌀️ Weather conditions and temperature
  • πŸͺ± Bait/lure used (custom, saved for reuse)
  • πŸ““ Personal notes

πŸ“‹ View & Manage

  • πŸ”€ Sortable data table with all catches
  • πŸ” Filter by date range, location, or bait
  • ✏️ Edit or delete entries
  • πŸ“€ Export to CSV for external analysis

πŸ“Š Analytics Dashboard

  • Summary Stats: Total catches, weights, averages, personal bests πŸ†
  • Bait Analysis: Which baits catch the most/biggest fish πŸͺ±
  • Time Patterns: Best times of day to fish ⏰
  • Weather Insights: Catch rates by weather conditions 🌦️
  • Location Comparison: Performance across fishing spots πŸ—ΊοΈ

🎨 Modern UI

  • πŸŒ™ Dark theme with green accents
  • ✨ Animated background with floating particles
  • 🎯 Custom-styled components (buttons, dropdowns, scrollbars)
  • πŸ“± Responsive layout

πŸ“Έ Screenshots

Log New Catch

Log New Catch

View Catches

View Catches

Statistics & Analytics

Statistics & Analytics

πŸ“‹ Requirements

  • β˜• Java 17 or later
  • πŸ“¦ Maven 3.6+ (for building from source)

πŸš€ Quick Start

πŸͺŸ Windows

# Build
scripts\build.bat

# Run
scripts\run.bat

🍎 macOS / 🐧 Linux

# Make scripts executable (first time only)
chmod +x scripts/*.sh

# Build
./scripts/build.sh

# Run
./scripts/run.sh

πŸ”§ Manual Build

# Build the application
mvn clean package

# Run the application
java --enable-native-access=ALL-UNNAMED -jar target/LakeLogger.jar

πŸ“ Project Structure

LakeLogger/
β”œβ”€β”€ src/main/java/com/lakelogger/
β”‚   β”œβ”€β”€ LakeLoggerApp.java          # Application entry point
β”‚   β”œβ”€β”€ model/                       # Data models
β”‚   β”‚   β”œβ”€β”€ CatchEntry.java         # Catch record
β”‚   β”‚   β”œβ”€β”€ Location.java           # Fishing location
β”‚   β”‚   └── Bait.java               # Bait/lure type
β”‚   β”œβ”€β”€ dao/                         # Database layer
β”‚   β”‚   β”œβ”€β”€ DatabaseManager.java    # SQLite connection
β”‚   β”‚   └── CatchDAO.java           # CRUD operations
β”‚   β”œβ”€β”€ service/                     # Business logic
β”‚   β”‚   └── AnalyticsService.java   # Statistics calculations
β”‚   β”œβ”€β”€ ui/                          # User interface
β”‚   β”‚   β”œβ”€β”€ MainFrame.java          # Main window
β”‚   β”‚   β”œβ”€β”€ theme/
β”‚   β”‚   β”‚   └── DarkTheme.java      # UI styling
β”‚   β”‚   └── panels/
β”‚   β”‚       β”œβ”€β”€ LogCatchPanel.java      # Log new catch
β”‚   β”‚       β”œβ”€β”€ ViewCatchesPanel.java   # View/manage catches
β”‚   β”‚       └── StatsPanel.java         # Analytics dashboard
β”‚   └── util/
β”‚       └── DateTimeUtil.java       # Date/time helpers
β”œβ”€β”€ res/
β”‚   └── images/                      # App icons and graphics
β”œβ”€β”€ scripts/
β”‚   β”œβ”€β”€ build.bat                    # Windows build script
β”‚   β”œβ”€β”€ build.sh                     # Unix build script
β”‚   β”œβ”€β”€ run.bat                      # Windows run script
β”‚   └── run.sh                       # Unix run script
β”œβ”€β”€ pom.xml                          # Maven configuration
└── README.md

πŸ—„οΈ Database

Lake Logger uses SQLite for local data storage. The database file is created automatically at:

Platform Location
πŸͺŸ Windows %USERPROFILE%\.lakelogger\lakelogger.db
🍎 macOS ~/.lakelogger/lakelogger.db
🐧 Linux ~/.lakelogger/lakelogger.db

πŸ’Ύ Backup

To backup your data, simply copy the lakelogger.db file to a safe location.

🎨 Theme Colors

Color Hex Usage
πŸ–€ Background #0f1214 Main background
πŸƒ Card #1e2428 Panel backgrounds
🌲 Primary #1b4d3e Forest green accents
πŸ’š Success #10b981 Emerald green highlights
πŸ’Ž Info #06b6d4 Cyan/water blue
πŸ”Ά Warning #f59e0b Amber accents
❌ Danger #ef4444 Red for delete/errors
πŸ“ Text #f0f4f8 Primary text

πŸ“š Dependencies

Library Version Purpose
SQLite JDBC 3.42.0 Database driver
JCalendar 1.4 Date picker component
JFreeChart 1.5.4 Analytics charts

πŸ”§ Troubleshooting

❓ "Maven not found"

Install Maven from maven.apache.org and add it to your PATH.

❓ "Java not found"

Install Java 17+ from adoptium.net and add it to your PATH.

⚠️ SQLite warnings on startup

These are harmless warnings from the SQLite driver. The run scripts include --enable-native-access=ALL-UNNAMED to suppress them.

πŸ—‘οΈ Database location

If you need to reset the app, delete the .lakelogger folder in your home directory.

🀝 Contributing

  1. 🍴 Fork the repository
  2. 🌿 Create a feature branch (git checkout -b feature/amazing-feature)
  3. πŸ’Ύ Commit your changes (git commit -m 'Add amazing feature')
  4. πŸ“€ Push to the branch (git push origin feature/amazing-feature)
  5. πŸ”ƒ Open a Pull Request

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ™ Acknowledgments

  • β˜• Built with Java Swing
  • 🎨 Icons and graphics designed for outdoor/fishing aesthetic
  • 🐟 Inspired by the need to track bass fishing patterns

Happy Fishing! 🎣🐟🌊

About

LakeLogger is a sleek, dark-themed desktop application built in Java for bass fishing enthusiasts to log catches, track patterns, and analyze fishing data. It provides a simple interface to record every catch with relevant details, manage your historical data, and explore analytics to improve your fishing strategy.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors