Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/atinux/nuxt-guestbook
A Nuxt application with SSR on the edge, authentication and a SQLite database.
https://github.com/atinux/nuxt-guestbook
cloudflare-d1 cloudflare-pages fullstack nuxt nuxt-auth nuxt-ui nuxt-ui-pro nuxthub
Last synced: 16 days ago
JSON representation
A Nuxt application with SSR on the edge, authentication and a SQLite database.
- Host: GitHub
- URL: https://github.com/atinux/nuxt-guestbook
- Owner: atinux
- License: mit
- Created: 2023-11-09T12:19:30.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-09-18T17:11:48.000Z (about 2 months ago)
- Last Synced: 2024-10-11T15:44:21.734Z (about 1 month ago)
- Topics: cloudflare-d1, cloudflare-pages, fullstack, nuxt, nuxt-auth, nuxt-ui, nuxt-ui-pro, nuxthub
- Language: Vue
- Homepage: https://guestbook.nuxt.dev
- Size: 563 KB
- Stars: 35
- Watchers: 3
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Nuxt Guestbook
[![screenshot](./public/social-image.png)](https://nuxt-guestbook.pages.dev)
A demonstration using [Nuxt](https://nuxt.com) with server-side rendering on the edge, authentication and database querying using SQLite (Cloudflare D1)in production.
Demo: https://nuxt-guestbook.pages.dev
## Features
- [Server-Side Rendering on the Edge](https://nuxt.com/blog/nuxt-on-the-edge)
- Authentication backed-in using [nuxt-auth-utils](https://github.com/Atinux/nuxt-auth-utils)
- Leverage SQLite as database with migrations using [drizzle ORM](https://orm.drizzle.team/)
- User interface made with [Nuxt UI](https://ui.nuxt.com) and [Nuxt UI Pro](https://ui.nuxt.com/pro)## Setup
Make sure to install the dependencies using [pnpm](https://pnpm.io/):
```bash
pnpm i
```Create a [GitHub Oauth Application](https://github.com/settings/applications/new) with:
- Homepage url: `http://localhost:3000`
- Callback url: `http://localhost:3000/auth/github`Add the variables in the `.env` file:
```bash
NUXT_OAUTH_GITHUB_CLIENT_ID="my-github-oauth-app-id"
NUXT_OAUTH_GITHUB_CLIENT_SECRET="my-github-oauth-app-secret"
```To create sealed sessions, you also need to add `NUXT_SESSION_SECRET` in the `.env` with at least 32 characters:
```bash
NUXT_SESSION_SECRET=your-super-long-secret-for-session-encryption
```## Development
Start the development server on http://localhost:3000
```bash
npm run dev
```### Build command
Set the build command to:
```bash
npm run build
```And the output directory to `dist/`
## Deploy on CloudFlare Pages
Deploy the application on the Edge with [NuxtHub](https://hub.nuxt.com) on your Cloudflare account:
```bash
npx nuxthub deploy
```Then checkout your server logs, analaytics and more in the [NuxtHub Admin](https://admin.hub.nuxt.com).
You can also deploy using [Cloudflare Pages CI](https://hub.nuxt.com/docs/getting-started/deploy#cloudflare-pages-ci).
### Environment variables
```bash
NUXT_OAUTH_GITHUB_CLIENT_ID=...
NUXT_OAUTH_GITHUB_CLIENT_SECRET=...
NUXT_SESSION_PASSWORD=...
NUXT_UI_PRO_LICENSE=...
```## License
[MIT License](./LICENSE)