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.8.0.tar.gz (63.7 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.8.0-py3-none-any.whl (106.4 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sandwitches-2.8.0.tar.gz
  • Upload date:
  • Size: 63.7 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.8.0.tar.gz
Algorithm Hash digest
SHA256 716048d98b3355f19156e7fc7b7b04f5b6a0957b0ad2238370c1f981a0d2ee5d
MD5 2bd24f47c65b7104a57f9bd280143bd2
BLAKE2b-256 a0a1adf11799daa7b8af53686d964e97a589891dbba824c85794856e5225ff14

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sandwitches-2.8.0-py3-none-any.whl
  • Upload date:
  • Size: 106.4 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.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 38e96585c7b078f7573a4c409de8f2b42563dd06c2f25149e351b7feefaa02f3
MD5 a2b7aefaad030782fb0330f82ddc865b
BLAKE2b-256 3c7d42d5400d3093c915afc9f4116f6b592c52e7df818febc3555982cc6c0038

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