Skip to content

Ancient & more recent historical recipes + cultural food research, structured into a secure/organized digital codex.

License

Notifications You must be signed in to change notification settings

ginesthoii/CulinaryCodex

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 

Repository files navigation

WIP

CulinaryCodex

CulinaryCodex Banner

  • Ancient recipes meet modern code.
  • CulinaryCodex is an experiment where food history (Roman bread, medieval syrups, stews with garum) meets software design.
  • Part cooking-history project, part coding sandbox, with a security twist.
  • This project is inspired by food historians, the Tasting History YouTube channel (I adore you, Max Miller), and the idea that coding projects can be fun, flavorful, and give us a taste of the past.

Python Flask Security


What it is

  • A small API + front end that serves historical recipes
  • Browse dishes by civilization (Rome, Medieval Europe, etc.), view ingredients, and follow steps
  • Built to be expandable — today it is bread and stew, tomorrow it could be a whole timeline of ancient cuisines

Instead of collecting recipe cards in a box, recipes are stored in JSON, Flask, and SQLite.


Why I built it

  1. History is fascinating, especially food history. Ancient Rome had sourdoughs, medieval kitchens had syrups, and all of it connects us to how people actually lived their day-to-day lives.
  2. I love to cook and I wanted to combine my love of history, cooking and coding/automation.
  3. I wanted a portfolio project that demonstrates:
    • Backend with Flask + SQLAlchemy
    • Frontend with vanilla JavaScript + fetch API
    • Secure coding habits (CORS, rate limits, dotenv configs)

Features (current)

  • Browse seeded recipes via a simple front end
  • Roman Panem (bread) — inspired by archaeological loaves from Pompeii
  • Soldier’s stew — lentils and garum, hearty Roman cooking
  • Medieval sapa syrup — sweet reduced grape must

Roadmap

  • Additional seeded recipes across civilizations
  • Filters (by era, dish type, difficulty)
  • Shopping list generator with modern substitutions (e.g., garum → fish sauce)
  • QR codes to pull recipes up on a phone
  • Timeline visualization of cuisines across history
  • Security hardening: input validation, CORS, rate limiting

Tech Stack

  • Backend: Flask, SQLAlchemy, python-dotenv
  • Frontend: HTML, CSS, vanilla JavaScript
  • Database: SQLite (lightweight, easy to swap later)
  • Security: CORS controls, basic rate limiting, environment variables

Image

Running locally

Clone and set up the backend:

git clone https://github.com/ginesthoii/culinarycodex
cd culinarycodex/backend

python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python3 seeds.py
flask --app app run

The backend runs at:
http://127.0.0.1:5000/api

Start the frontend:
cd ../frontend
python3 -m http.server 5500

The frontend opens at:
http://127.0.0.1:5500




About

Ancient & more recent historical recipes + cultural food research, structured into a secure/organized digital codex.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published