Skip to main content

Add your description here

Project description

Sandwitches Banner

🥪 Sandwitches

Sandwiches so good, they haunt you!

CI Status License Python Version Django 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.3.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.3-py3-none-any.whl (106.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: sandwitches-2.7.3.tar.gz
  • Upload date:
  • Size: 63.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3.tar.gz
Algorithm Hash digest
SHA256 4318726c3a819129d3ca3efae9734372c0ecaef7c44dfbf7702cdae03d45751c
MD5 d40df1a9003b12bca5c511f9c4b27b0c
BLAKE2b-256 a4d34d3dd1196eee01970ad489ac753581d81a17597434ea7771e3332571e151

See more details on using hashes here.

File details

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

File metadata

  • Download URL: sandwitches-2.7.3-py3-none-any.whl
  • Upload date:
  • Size: 106.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.10.2 {"installer":{"name":"uv","version":"0.10.2","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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 e101de4de8d783a6b4a7ec0028449a92ca9010d1df3482926e3a9bca11372d26
MD5 2a10c7b45e1cae2d091e7412d55b0937
BLAKE2b-256 b203468f8b3ac998c68c973fa1ef2ce4f4020ea35aaa4de2c43a7a8952f628ca

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