A comprehensive web application for monitoring and managing beer fermentation in real-time.
BeerTracker is a modern, user-friendly application designed for craft brewers and homebrewers to monitor fermentation parameters and maintain detailed brewing logs. Track temperature, gravity readings, time, and other critical metrics to ensure optimal fermentation conditions and consistent beer quality.
- Real-time Monitoring: Track fermentation temperature and gravity in real-time
- Batch Management: Create and manage multiple fermentation batches simultaneously
- Data Visualization: Interactive charts and graphs to visualize fermentation progress
- Detailed Logging: Record notes, observations, and adjustments throughout the fermentation process
- Alert System: Get notifications when parameters deviate from optimal ranges
- Export Data: Export fermentation logs and analytics for archival or analysis
- Responsive Design: Works seamlessly on desktop, tablet, and mobile devices
- Intuitive UI: User-friendly interface designed for brewers of all experience levels
- Frontend: React with TypeScript
- Build Tool: Vite
- Styling: Tailwind CSS
- UI Components: Custom components with shadcn/ui
- Package Manager: pnpm
- Deployment: Vercel
Before you begin, ensure you have the following installed:
- Node.js (v16 or higher)
- pnpm (v8 or higher)
git clone https://github.com/bobovanri/BeerTracker.git
cd BeerTrackerpnpm installCreate a .env.local file in the root directory and add any necessary configuration:
# .env.local
VITE_API_URL=http://localhost:3000pnpm run devThe application will be available at http://localhost:5173
pnpm run buildThe optimized build will be created in the dist/ directory.
BeerTracker/
├── src/
│ ├── components/ # React components
│ ├── pages/ # Page components
│ ├── hooks/ # Custom React hooks
│ ├── services/ # API and utility services
│ ├── styles/ # Global styles
│ ├── types/ # TypeScript type definitions
│ └── App.tsx # Main application component
├── public/ # Static assets
├── index.html # HTML entry point
├── package.json # Project dependencies
├── tsconfig.json # TypeScript configuration
├── vite.config.ts # Vite configuration
├── tailwind.config.ts # Tailwind CSS configuration
└── README.md # This file
- Create a New Batch: Click "New Batch" to start monitoring a new fermentation
- Set Parameters: Enter beer style, yeast strain, and target fermentation conditions
- Log Readings: Regularly update temperature, gravity, and other metrics
- Add Notes: Document observations, adjustments, and any issues encountered
- Monitor Progress: View real-time charts to track fermentation progress
- Export Data: When batch is complete, export the data for your records
pnpm run dev- Start development serverpnpm run build- Build for productionpnpm run preview- Preview production build locallypnpm run lint- Run ESLintpnpm run type-check- Run TypeScript type checking
For detailed documentation on specific features, please refer to:
- Feature Guide - Detailed feature explanations
- API Documentation - Backend API reference
- Contributing Guidelines - How to contribute
- Ensure all dependencies are installed:
pnpm install - Clear node_modules and reinstall:
rm -rf node_modules && pnpm install - Check Node.js version:
node --version(should be v16+)
- The dev server will automatically use the next available port
- Or specify a custom port:
pnpm run dev -- --port 3000
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
If you encounter any issues or have suggestions for improvements, please:
- Create an issue on GitHub
- Contact the development team
- Join our community discussions
- Thanks to the open-source community for the amazing libraries and tools
- Special thanks to all contributors and users who help improve BeerTracker
Happy Brewing! 🍻
For more information and updates, visit the GitHub repository.