Skip to content

An open-source Photograph travel Blog📸built using Next.js, Drizzle, Neon, Auth.js, Shadcn/ui and Hono.js.

Notifications You must be signed in to change notification settings

ECarry/photography-website

Repository files navigation

Photography Blog 📸

Deploy with Vercel

A modern, open-source photography blog platform built with the latest web technologies. Share your photography journey with style and efficiency.

✨ Features

  • 📱 Responsive design for all devices
  • 🖼️ Automatic EXIF data extraction from photos
  • 🔐 Secure authentication with Auth.js
  • ☁️ Cloud storage with Cloudflare R2
  • 🎨 Beautiful UI with Shadcn/ui components
  • 🚀 Lightning-fast performance
  • 📍 Location-based photo organization
  • 🌐 SEO optimized
  • 🎯 API powered by Hono.js

📸 Screenshots

page

page

page

page

🌈 Support Theme

  • 🌈 Dark
  • 🌈 Light

page

🛠️ Tech Stack

🚀 Getting Started

Prerequisites

  • Node.js 20+
  • bun (recommended) or npm
  • Neon Database
  • Cloudflare R2 Account

Environment Variables

Create a .env.local file in the root directory:

# Database
DATABASE_URL=your_neon_database_url

# Auth
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
AUTH_SECRET=your_auth_secret

# Cloudflare R2
R2_ACCOUNT_ID=your_cloudflare_account_id
R2_ACCESS_KEY_ID=your_r2_access_key
R2_SECRET_ACCESS_KEY=your_r2_secret_key
R2_BUCKET_NAME=your_bucket_name

Installation

  1. Clone the repository:
git clone https://github.com/your-username/photography-website.git
cd photography-website
  1. Install dependencies:
bun install
  1. Set up the database:
bun db:push
  1. Start the development server:
bun run dev

Visit http://localhost:3000 to see your application.

📝 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤝 Contributing

Contributions are welcome! Feel free to open issues and pull requests.

💖 Support

If you find this project helpful, please give it a ⭐️ on GitHub!

⭐️ Star History

Star History Chart

🪱 REST API

// 🏞️ Photo Management
GET /api/photos // 📑 Retrieve all photos
GET /api/photos/{id} // 🔍 Retrieve a single photo
POST /api/photos // 📸 Add a new photo
PATCH /api/photos/{id} // 🖊️ Update a photo
DELETE /api/photos/{id} // 🗑️ Delete a photo

About

An open-source Photograph travel Blog📸built using Next.js, Drizzle, Neon, Auth.js, Shadcn/ui and Hono.js.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published