https://github.com/wiidede/exif-gallery-nuxt
A full-stack photo album solution that integrates AI intelligent processing, browser image compression, and other functions.
https://github.com/wiidede/exif-gallery-nuxt
cloudflare exif gallery nuxt nuxthub r2
Last synced: 7 months ago
JSON representation
A full-stack photo album solution that integrates AI intelligent processing, browser image compression, and other functions.
- Host: GitHub
- URL: https://github.com/wiidede/exif-gallery-nuxt
- Owner: wiidede
- License: mit
- Created: 2025-02-03T05:13:27.000Z (8 months ago)
- Default Branch: main
- Last Pushed: 2025-03-07T18:11:28.000Z (7 months ago)
- Last Synced: 2025-03-07T19:23:14.922Z (7 months ago)
- Topics: cloudflare, exif, gallery, nuxt, nuxthub, r2
- Language: Vue
- Homepage: https://photo.wiidede.space/
- Size: 2.61 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# EXIF Gallery Nuxt
[English](README.md) | [įŽäŊ䏿](README_zh.md)
A full-stack photo album solution that integrates AI intelligent processing, browser image compression, and other functions.

[](https://admin.hub.nuxt.com/new)
## Features
- đˇ Image upload and display with [`hubBlob()`](http://hub.nuxt.com/docs/storage/blob)
- đ Cloud Storage: Blob powered by NuxtHub (cloudflare R2)
- đ¤ AI Integration: Support for OpenAI and Google AI for intelligent image processing
- đī¸ Image Compression: Multiple format support (JPEG, WebP, AVIF) with JSQuash
- đ¨ Modern UI: Beautiful components with shadcn-vue and inspira-ui
- đđģ [View transition API](https://developer.chrome.com/docs/web-platform/view-transitions) The View Transitions API provides a mechanism for easily creating animated transitions between different DOM states while also updating the DOM contents in a single step
- đ [Nuxt Auth Utils](https://github.com/Atinux/nuxt-auth-utils) Minimalist Authentication module for Nuxt exposing Vue composables and server utils## Stack
- [NuxtHub](https://hub.nuxt.com) - A Nuxt toolkit to build fullstack applications on the edge
- [UnoCSS](https://unocss.dev/) - The instant on-demand atomic CSS engine
- [shadcn-vue](https://www.shadcn-vue.com/) - Beautifully designed components built with Radix UI and Tailwind CSS
- [inspira-ui](https://inspira-ui.com/) - Collection of beautiful UI components to build stunning animated interfaces
- [VueUse](https://github.com/antfu/vueuse) - Collection of useful composition APIs
- [ESLint](https://eslint.org/) with [@nuxt/eslint-config](https://github.com/nuxt/eslint), single quotes, no semi
- [TypeScript](https://www.typescriptlang.org/)## Setup
1. Clone this repository to your local machine.
2. Install dependencies using the command `pnpm install` or your favorite package manager.
3. Run the application with the command `pnpm dev` or your favorite package manager.> If you don't have pnpm installed, run: `corepack enable pnpm`
## Environment Variables
- `NUXT_ADMIN_PASSWORD` - A password to access the admin panel and upload images, will default to `admin` if not provided.
- `NUXT_SESSION_PASSWORD` - A secret key for session encryption used by [nuxt-auth-utils](https://github.com/Atinux/nuxt-auth-utils), will be generated automatically if not provided in development mode.
- `NUXT_PUBLIC_TITLE` - The title of the application, will default to `Exif Gallery Nuxt` if not provided.
- `NUXT_PUBLIC_DESCRIPTION` - The description of the application, will default to `A Nuxt.js image gallery template with Exif data support` if not provided.## Development
```bash
pnpm dev
```### Remote Storage
Once you deployed your project, you can connect to your remote database locally running:
```bash
pnpm dev --remote
```### Deploy
You can deploy this project on your Cloudflare account for free and with zero configuration using [NuxtHub](https://hub.nuxt.com).
```bash
npx nuxthub deploy
```It's also possible to leverage Cloudflare Pages CI for deploying, learn more about the different options on
Learn more about remote storage on
## Template Starter
This project is a template starter provided by NuxtHub. It's designed to help kickstart your NuxtHub files project.
Check out the [deployment documentation](https://hub.nuxt.com/docs/getting-started/deploy) for more information.
## Contribution
Contributions are welcome! Feel free to open an issue to report a bug or submit a feature request via a pull request.
## Credits
Thanks to [exif-photo-blog](https://github.com/sambecker/exif-photo-blog)
Thanks to [nuxt-image-gallery](https://github.com/Flosciante/nuxt-image-gallery)