⚠ This page is served via a proxy. Original site: https://github.com
This service does not collect credentials or authentication data.
Skip to content

ghidalgo3/CookTime

Repository files navigation

CookTime

CookTime is a recipe management system! It is composed of:

  1. REST API (C# ASP.NET app in src/CookTime)
  2. Browser application (React SPA in src/CookTime/client-app)
  3. PostgreSQL schemas and functions for storing and querying recipes (SQL statements in src/CookTime/Scripts)

With CookTime you can do things like:

  1. Store your recipes in a database
  2. Query recipes by name, ingredient, or arbitrary properties
  3. Scale recipes by servings
  4. Compute a recipe's nutrition facts
  5. Track grocery lists of ingredients to make sets of recipes

Features

Recipe Index

Search by whatever you want!

CookTime homepage

Grocery Lists

Aggregate ingredients into one grocery list!

CookTime grocery list

Nutrition Facts

Automatically computed nutrition facts using USDA nutrition data!

Recipe nutrition facts

Recipe scaling

Scale recipes to make more or less servings!

Recipe scaling and highlighted ingredients

Recipe lists

Come up with your own recipe lists, and share them with the world!

Cooktime lists

Social sign on

No more username and passwords!

Sign in with Google

Getting started

Assuming Docker Desktop installed on Linux or macOS, use the scripts directory (found at the root of the repo) contents to get started:

scripts/server

Then open http://localhost:3000 in a browser!

I recommend using VSCode to develop CookTime, for that you will need to install:

  1. .NET 10
  2. Node.js (latest LTS release)

Blog

The blog is served as static files. If you add or modify a blog post, you only need to regenerate the static files. To do that, run the following in the Blog directory:

jekyll build -d ../wwwroot/Blog

That will dump new blog contents into the static files directory wwwroot. Commit the changes after you generate the new blog post.