paul 3dc013d7b1 CRITICAL FIX: Remove 403 from auth redirect logic to restore login
BREAKING ISSUE FIXED:
- 403 errors were triggering redirects, preventing login page from loading
- Public endpoints returning 403 were causing redirect loops

Changes:
- Removed 403 status from automatic redirect logic
- Only 401 (Unauthorized) now triggers login redirect
- 403 (Forbidden) errors are passed through without redirect

This fixes the critical issue where users couldn't access the login page
because public API calls were returning 403 and triggering redirects.

403 errors should be handled differently than 401:
- 401 = Missing/invalid auth (redirect to login)
- 403 = Forbidden (could be rate limit, IP block, etc - don't redirect)

🚨 Emergency fix for production

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-24 16:57:07 +02:00

📸 PicPeak - Open Source Photo Sharing for Events

PicPeak Logo

License: MIT Docker Node.js React

PicPeak is a powerful, self-hosted open-source alternative to commercial photo-sharing platforms like PicDrop.com and Scrapbook.de. Designed specifically for photographers and event organizers, PicPeak makes it simple to share beautiful, time-limited photo galleries with clients while maintaining full control over your data and branding.

PicPeak Gallery Preview

🌟 Why Choose PicPeak?

Unlike expensive SaaS solutions, PicPeak gives you:

  • 💰 No Monthly Fees - One-time setup, unlimited galleries
  • 🔒 Complete Data Control - Your photos stay on your server
  • 🎨 White-Label Ready - Full branding customization
  • 📱 Mobile-First Design - Beautiful on all devices
  • 🚀 Lightning Fast - Optimized performance and caching
  • 🌍 Multi-Language - Built-in i18n support (EN, DE)

Key Features

For Photographers

  • 📁 Drag & Drop Upload - Simply drop photos into folders
  • Auto-Expiring Galleries - Set expiration dates (default: 30 days)
  • 🔐 Password Protection - Secure client galleries
  • 📧 Automated Emails - Creation confirmations and expiration warnings
  • 📊 Analytics Dashboard - Track views, downloads, and engagement
  • 🎨 Custom Themes - Match your brand perfectly

For Clients

  • 🖼️ Beautiful Galleries - Clean, modern interface
  • 📱 Mobile Optimized - Swipe through photos on any device
  • ⬇️ Bulk Downloads - Download all photos with one click
  • 🔍 Smart Search - Find photos quickly
  • 📤 Guest Uploads - Optional client photo uploads

Technical Excellence

  • 🐳 Docker Ready - Deploy in minutes
  • 🔄 Auto-Processing - Automatic thumbnail generation
  • 💾 Smart Storage - Automatic archiving of expired galleries
  • 🛡️ Security First - JWT auth, rate limiting, CORS protection
  • 📈 Scalable - From small studios to large agencies

🚀 Quick Start

Get PicPeak running in under 5 minutes:

# Clone the repository
git clone https://github.com/the-luap/picpeak.git
cd picpeak

# Copy environment template
cp .env.example .env

# Edit configuration (required: JWT_SECRET)
nano .env

# Start with Docker Compose
docker-compose up -d

# Access at http://localhost:3005

📖 Documentation

🎯 Use Cases

Perfect for:

  • 💒 Wedding Photographers - Share ceremony photos securely
  • 🎂 Event Photography - Birthday parties, corporate events
  • 📸 Portrait Studios - Client galleries with download limits
  • 🏢 Corporate Events - Internal photo sharing with branding
  • 🎓 School Photography - Secure parent access with expiration

🏗️ Tech Stack

  • Backend: Node.js, Express, SQLite/PostgreSQL
  • Frontend: React, Tailwind CSS, Framer Motion
  • Storage: File-based with automatic archiving
  • Email: SMTP with customizable templates
  • Analytics: Privacy-focused with Umami integration

🤝 Contributing

We love contributions! PicPeak is built by photographers, for photographers. Whether you're fixing bugs, adding features, or improving documentation, your help is welcome.

See our Contributing Guide for details.

📊 Comparison with Alternatives

Feature PicPeak PicDrop Scrapbook.de
Self-Hosted
Custom Branding Full Limited Limited
Monthly Cost $0 $29-199 €19-99
Storage Limit Unlimited* 50-500GB 100-1000GB
Client Uploads
API Access Paid
Open Source

*Limited only by your server storage

🛡️ Security

PicPeak takes security seriously:

  • 🔐 Password hashing with bcrypt
  • 🎫 JWT-based authentication
  • 🚦 Rate limiting on all endpoints
  • 🛡️ CORS protection
  • 📝 Activity logging
  • 🔒 Secure file access

Found a security issue? Please email security@example.com

📸 Screenshots

🎛️ Admin Dashboard

Get a complete overview of your photo galleries, analytics, and system status.

PicPeak Admin Dashboard

📊 Analytics & Insights

Track gallery performance, view statistics, and monitor user engagement.

PicPeak Analytics Dashboard

📁 Event Management

Organize and manage your photo galleries with intuitive event management tools.

PicPeak Events Management

Key Interface Highlights

👆 Click to see more interface details

What makes PicPeak's interface special:

  • 🎨 Clean Design: Modern, photographer-friendly interface
  • 📱 Responsive: Perfect on desktop, tablet, and mobile
  • Fast Loading: Optimized for quick photo browsing
  • 🔒 Secure Access: Password-protected galleries with expiration
  • 📤 Easy Uploads: Drag & drop functionality for effortless photo management
  • 🎯 Client-Focused: Intuitive gallery experience for your clients

🙏 Acknowledgments

PicPeak is inspired by the best features of commercial platforms while remaining completely open source. Special thanks to all contributors who make this project possible.

📄 License

PicPeak is released under the MIT License. Use it freely for personal or commercial projects.

🚀 Ready to Get Started?

  1. Star this repository to show your support
  2. 📖 Read the Deployment Guide
  3. 🐛 Report issues or request features
  4. 🤝 Join our community and contribute!

Made with ❤️ by photographers, for photographers
GitHubDocumentationSupport

S
Description
Secure photo sharing platform for weddings and events with automatic expiration and email notifications
Readme MIT 48 MiB
2025-07-24 15:24:20 +02:00
Languages
JavaScript 49.5%
TypeScript 47.6%
Shell 2.2%
CSS 0.6%
Dockerfile 0.1%