A cozy lending library for sharing your stuff with friends. List your books, games, tools, and treasures - then share a private link so friends can browse and request to borrow.
- Personal Library: Catalog items with images, descriptions, and borrow time limits
- Private Lending Links: Each user gets a unique URL to share with friends
- Borrow Workflow: Request → Approve → Lent Out → Returned
- Privacy Controls: Choose what friends can see (borrowed items, borrower names, history)
- No Friend Accounts Needed: Friends just enter their name - it's honor-based for real-life friendships
- Django 5.1 + HTMX
- PostgreSQL
- WhiteNoise for static files
- Cropper.js for image cropping
- Custom CSS (no frameworks)
# Start PostgreSQL
docker compose up -d
# Set up Python environment
python -m venv .venv
source .venv/bin/activate # or .venv\Scripts\activate on Windows
pip install -r requirements.txt
# Configure environment
cp .env.example .env
# Edit .env with your settings
# Initialize database
python manage.py migrate
# Create root admin user
export ROOT_USERNAME=admin ROOT_PASSWORD=your-secure-password
python manage.py ensure_root_user
# Run development server
python manage.py runserverVisit http://localhost:8000 to see the app.
# Build and run with Docker Compose
docker compose -f docker-compose.prod.yml up -dRequired environment variables for production:
SECRET_KEY- Django secret keyPOSTGRES_PASSWORD- Database passwordROOT_PASSWORD- Admin user passwordALLOWED_HOSTS- Your domainCSRF_TRUSTED_ORIGINS- Your domain with https://
- Admin approves new user registrations via Django admin (
/admin/) - User adds items to their library with optional images
- User shares their lending link (e.g.,
yoursite.com/lend/abc123/) - Friend visits the link, enters their name, and requests items
- User approves/denies requests from their dashboard
- User marks items as "lent out" when handed over
- User marks items as "returned" when they come back
See LICENSE file.