Go to file
2023-10-11 11:39:05 -05:00
__tests__ Rename /t route to /tag 2023-10-06 09:19:25 -05:00
.vscode Refine admin tag editor 2023-10-06 20:41:42 -05:00
public Init 2023-09-05 09:00:57 -05:00
readme Add features and og image preview to README 2023-09-20 11:00:34 -05:00
src Tweak checklist row positioning 2023-10-11 11:39:05 -05:00
.eslintrc.json Init 2023-09-05 09:00:57 -05:00
.gitignore Init 2023-09-05 09:00:57 -05:00
jest.config.mjs Refactor paths/escape handling, add test coverage 2023-09-29 13:40:08 -05:00
next.config.js Set next/image minimum cache to 1 year 2023-09-27 21:42:17 -05:00
package.json Bump dependencies 2023-10-06 13:37:24 -05:00
pnpm-lock.yaml Bump dependencies 2023-10-06 13:37:24 -05:00
postcss.config.js Init 2023-09-05 09:00:57 -05:00
README.md Add public /api 2023-10-07 12:11:47 -05:00
tailwind.config.js Tweak rotation animation for safari 2023-09-27 10:16:27 -05:00
tsconfig.json Init 2023-09-05 09:00:57 -05:00

📷 EXIF Photo Blog

https://github.com/sambecker/exif-photo-blog/assets/169298/4253ea54-558a-4358-8834-89943cfbafb4

Deploy with Vercel

Example App

https://photos.sambecker.com

Features

  • Photo upload with EXIF extraction
  • Organize photos by tag and camera model
  • Infinite scroll
  • Built-in auth
  • Light/dark mode
  • Automatic OG image generation
OG Image Preview

Installation

1. Deploy to Vercel

  1. Click Deploy
  2. Add required storage (Vercel Postgres + Vercel Blob)
  3. Add environment variables
  • NEXT_PUBLIC_SITE_TITLE (e.g., My Photos)
  • NEXT_PUBLIC_SITE_DOMAIN (e.g., photos.domain.com)
  • NEXT_PUBLIC_SITE_DESCRIPTION (optional—mainly used for OG meta)

2. Setup Auth

  1. Generate auth secret
  2. Add to environment variables:
  • AUTH_SECRET
  1. Add admin user to environment variables:
  • ADMIN_EMAIL
  • ADMIN_PASSWORD

3. Upload your first photo

  1. Visit /admin
  2. Click "Choose File"
  3. Title your photo
  4. Click "Create"

4. Develop locally

  1. Clone code
  2. Install dependencies pnpm i
  3. Run vc dev to utilize Vercel-stored environment variables

5. Add Analytics (optional)

  1. Open project on Vercel
  2. Click "Analytics" tab
  3. Follow "Enable Web Analytics" instructions (@vercel/analytics is already part of your project)

6. Optional configuration

  1. Set NEXT_PUBLIC_HIDE_REPO_LINK = 1 to remove footer link to repo
  2. Set NEXT_PUBLIC_PRO_MODE = 1 to enable higher quality image storage
  3. Set NEXT_PUBLIC_PUBLIC_API = 1 to enable a public API available at /api