Skip to content

Cook-for-kids is an application developed to help parents of a kindergarten group rotate monthly meal duties. This tool simplifies the organization and scheduling of meal preparation responsibilities among parents.

Notifications You must be signed in to change notification settings

daberer/cook-for-kids

Repository files navigation

Cook-for-kids

Django Tests

Cook-for-kids is an application developed to help parents of a kindergarten group rotate monthly meal duties. This tool simplifies the organization and scheduling of meal preparation responsibilities among parents.

Technical Implementation

The application is built using:

  • Python Django framework for the core functionality
  • Django forms for data input handling
  • JavaScript backend for interactive features
  • SQLite database for storing parent information and scheduling data

Key Features

The application's standout feature is its scheduling algorithm which:

  • Uses a recursive Sudoku algorithm to assign cooking duties
  • Takes into account parent "waiver days" (days when parents are unavailable)
  • Optionally optimizes the schedule to maximize the interval between cooking duties for all parents simultaneously

User Experience

After the schedule is generated, users can:

  • Edit the results on a dedicated view page
  • Export the finalized schedule directly to PDF for easy distribution to all parents This application effectively eliminates the hassle of manual scheduling while ensuring fair distribution of cooking responsibilities among all parents in the kindergarten group.

Overview

Cook-for-kids Start Page

Setup Instructions

Prerequisites

  • Python 3.12
  • Git

Installation

Clone the repository

 git clone https://github.com/daberer/cook-for-kids.git

Create a virtual environment, install dependencies and set up database

Create either a conda environment or a Python virtual environment (venv) with Python 3.12.

pip install -r requirements.txt
pip install -e .
python manage.py migrate

Create an admin user

python manage.py createsuperuser

Follow the prompts to create your admin account.

Run the development server

python manage.py runserver

The application will be available at http://127.0.0.1:8000/

MIT License

About

Cook-for-kids is an application developed to help parents of a kindergarten group rotate monthly meal duties. This tool simplifies the organization and scheduling of meal preparation responsibilities among parents.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published