Forkly is a frontend rewrite of the CookCLI, designed to enhance your self-hosted cooking experience. This project is mostly focused on the server part of it. Other parts should be fully working, but are not the focus of this fork.
Forkly includes all the original CookCLI web UI features and adds a variety of new tools to streamline your cooking experience:
- Built-in Timer: Click on any time mentioned in a recipe (e.g., "bake for 2 hours") to instantly set a timer.
- Measurement Conversion: Convert measurements like "1 cup" into other units with a single click.
- Interactive Shopping List: Mark off ingredients as you shop.
- PWA Support: Install Forkly as a Progressive Web App (PWA) on your phone.
- Modern Design: Enjoy a sleek and responsive user interface.
- Additional Quality of Life Features:
- Keep your screen awake while viewing recipes (requires HTTPS).
- Customize settings for rounded conversions.
- View extra recipe stats, like the number of servings.
- Sorting shopping lists by category (e.g., group all meats, fruits, etc.).
- Scaling recipes to serve different numbers of people (experimental).
- Web-based recipe addition (For now you can use File Browser).
- Docker container for easy deployment.
- Clone the repository:
git clone https://github.com/ChaoticLeah/Forkly.git cd Forkly
- Install frontend dependencies:
cd ui bun install
- Build the frontend (If it fails delete the old build folder):
bun --bun run build
- Start the server:
cd .. cargo run -- --server
- Access the server using the address provided in the terminal output.
- Add recipes: Place your recipes in the
seed/
directory or specify a custom directory when starting the server.
The original CookCLI frontend was functional but outdated. By leveraging modern tools like Svelte 5, Vite, TypeScript, and Tailwind CSS, Forkly offers improved performance. It also introduces new features that simplify recipe management and enhance the cooking experience.