Skip to main content

Add your description here

Project description

Sandwitches Banner

🥪 Sandwitches

Sandwiches so good, they haunt you!

CI Status License Python Version Ruff


✨ Overview

Sandwitches is a modern, recipe management platform built with Django. It is made as a hobby project for my girlfriend, who likes to make what I call "fancy" sandwiches (sandwiches that go beyond the Dutch normals), lucky to be me :). Sandwiches so good you will think they are haunted !. See wanted to have a way to advertise and share those sandwiches with the family and so I started coding making it happen, in the hopes of getting more fancy sandwiches.

🎯 Features

Sandwitches comes packed with comprehensive features for recipe management, community engagement, and ordering:

  • 🍞 Recipe Management - Upload and create sandwich recipes with images, ingredients, and instructions
  • 👥 Community Page - Discover and browse sandwiches shared by community members
  • 🛒 Ordering System - Browse recipes and place orders with cart functionality and order tracking
  • ⭐ Ratings & Reviews - Rate recipes on a 0-10 scale with detailed comments
  • 🔌 REST API - Full API access for recipes, tags, ratings, orders, and user management
  • 📊 Admin Dashboard - Comprehensive admin interface for recipe approval and site management
  • 🌍 Multi-language Support - Internationalization for multiple languages
  • 📱 Responsive Design - Mobile-friendly interface with BeerCSS framework
  • 🔔 Notifications - Email and Gotify push notification integration
  • 📈 Order Tracking - Real-time order status tracking with unique tracking tokens

📥 Getting Started

Prerequisites

  • Python 3.12+
  • uv (recommended) or pip

Installation

  1. Clone the repository:

    git clone https://github.com/martynvdijke/sandwitches.git
    cd sandwitches
    
  2. Sync dependencies:

    uv sync
    
  3. Run migrations and collect static files:

    uv run invoke setup-ci  # Sets up environment variables
    uv run src/manage.py migrate
    uv run src/manage.py collectstatic --noinput
    
  4. Start the development server:

    uv run src/manage.py runserver
    

🧪 Testing & Quality

The project maintains high standards with over 80+ automated tests.

  • Run tests: uv run invoke tests
  • Linting: uv run invoke linting
  • Type checking: uv run invoke typecheck

Made with ❤️ for sandwich enthusiasts.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sandwitches-2.7.6.tar.gz (63.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sandwitches-2.7.6-py3-none-any.whl (106.3 kB view details)

Uploaded Python 3

File details

Details for the file sandwitches-2.7.6.tar.gz.

File metadata

  • Download URL: sandwitches-2.7.6.tar.gz
  • Upload date:
  • Size: 63.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sandwitches-2.7.6.tar.gz
Algorithm Hash digest
SHA256 22cf257ae02c9c89faeb0c7677f39a1449232bac025f0c434551758d12a0b9e5
MD5 84147bda9002ab34f1709cb58f0691b5
BLAKE2b-256 fe12eb36ae33f5a50d09aa35270d3f9243c7236dfc7bbb3c154447615ddb9726

See more details on using hashes here.

File details

Details for the file sandwitches-2.7.6-py3-none-any.whl.

File metadata

  • Download URL: sandwitches-2.7.6-py3-none-any.whl
  • Upload date:
  • Size: 106.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.4 {"installer":{"name":"uv","version":"0.10.4","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for sandwitches-2.7.6-py3-none-any.whl
Algorithm Hash digest
SHA256 3f3c4ed06433a7f4dd4ae06b5f58281ff00cd8807895b7327a49fe1603aca313
MD5 a24ba9ef254274897cb4c96925484703
BLAKE2b-256 a771523cf3773565449d6afb0865271b7712f87078d5abf97578f59f7068dbd5

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page