/jimmy

A simple photo gallery in memoriam of my late brother, James Contino. Deployed with NuxtHub via Cloudflare.

Primary LanguageVue

NuxtHub Image Gallery Starter Template

This starter lets you get started with NuxtHub Blob in seconds.

nuxt-image-gallery.mp4

Features

  • 📷 Image upload and display with hubBlob()
  • 🖼️ Image Filters: Apply a variety of filters to your images.
  • 💾 Saving: Save your images with applied filters.
  • 🌐 Cloud Storage: Blob powered by NuxtHub (cloudflare R2).
  • 🎠 Custom Carousel: Includes a custom carousel component that can be adapted for in-house use.
  • 🏃🏻 View transition API 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 Minimalist Authentication module for Nuxt exposing Vue composables and server utils.

Stack

  • NuxtHub - A Nuxt toolkit to build fullstack applications on the edge
  • NuxtUI - A UI Library for Modern Web Apps
  • Nuxt Fonts - Plug-and-play custom web font optimization and configuration for Nuxt apps.
  • VueUse - Collection of useful composition APIs
  • ESLint with @nuxt/eslint-config, single quotes, no semi
  • TypeScript
  • bun - Fast JavaScript package manager

Setup

  1. Clone this repository to your local machine.
  2. Install dependencies using the command bun install or your favorite package manager.
  3. Run the application with the command bun dev or your favorite package manager.

If you don't have bun installed, run: curl -fsSL https://bun.sh/install | bash

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, will be generated automatically if not provided in development mode.

Development

bun dev

Remote Storage

Once you deployed your project, you can connect to your remote database locally running:

bun dev --remote

Deploy

You can deploy this project on your Cloudflare account for free and with zero configuration using NuxtHub.

npx nuxthub deploy

It's also possible to leverage Cloudflare Pages CI for deploying, learn more about the different options on https://hub.nuxt.com/docs/getting-started/deploy

Learn more about remote storage on https://hub.nuxt.com/docs/getting-started/remote-storage

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 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 Atinux for the contributions and advice provided.