Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ecarry/photography-website
An open-source Photograph travel Blog📸built using Next.js, Drizzle, Neon, Auth.js, Shadcn/ui and Hono.js.
https://github.com/ecarry/photography-website
cloudflare-r2 drizzle hono neon nextjs reactquery shadcnui tiptap-editor
Last synced: 3 days ago
JSON representation
An open-source Photograph travel Blog📸built using Next.js, Drizzle, Neon, Auth.js, Shadcn/ui and Hono.js.
- Host: GitHub
- URL: https://github.com/ecarry/photography-website
- Owner: ECarry
- Created: 2023-09-25T06:35:00.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-12-26T14:33:28.000Z (9 days ago)
- Last Synced: 2024-12-26T15:29:45.775Z (9 days ago)
- Topics: cloudflare-r2, drizzle, hono, neon, nextjs, reactquery, shadcnui, tiptap-editor
- Language: TypeScript
- Homepage: https://p.ecarry.me
- Size: 76.2 MB
- Stars: 103
- Watchers: 3
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Photography Blog 📸
[![Deploy with Vercel](https://vercel.com/button)](https://vercel.com/new/clone?repository-url=https://github.com/ECarry/photography-website)
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
## 🌈 Support Theme
- 🌈 Dark
- 🌈 Light## 🛠️ Tech Stack
- **Framework:** [Next.js 15](https://nextjs.org/)
- **Database:** [Neon](https://neon.tech/) (Serverless Postgres)
- **ORM:** [Drizzle](https://orm.drizzle.team/)
- **Authentication:** [Auth.js](https://authjs.dev/)
- **UI Components:** [Shadcn/ui](https://ui.shadcn.com/)
- **API Layer:** [Hono.js](https://hono.dev/)
- **Storage:** [Cloudflare R2](https://www.cloudflare.com/products/r2/)
- **Deployment:** [Vercel](https://vercel.com)## 🚀 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:
```bash
# 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:
```bash
git clone https://github.com/your-username/photography-website.git
cd photography-website
```2. Install dependencies:
```bash
bun install
```3. Set up the database:
```bash
bun db:push
```4. Start the development server:
```bash
bun run dev
```Visit `http://localhost:3000` to see your application.
## 📝 License
This project is licensed under the MIT License - see the [LICENSE](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](https://api.star-history.com/svg?repos=ECarry/photography-website&type=Date)](https://star-history.com/#ECarry/photography-website&Date)
## 🪱 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
```