diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..81ab9bd --- /dev/null +++ b/.env.example @@ -0,0 +1,4 @@ +NUXT_HUB_APPLICATION_NAME="NuxtHubLanding" +NUXT_HUB_PROJECT_KEY="" +NUXT_RESEND_API_KEY="" +NUXT_HUB_LANDING_EMAIL=" diff --git a/README.md b/README.md index 4057400..972d20c 100644 --- a/README.md +++ b/README.md @@ -37,6 +37,43 @@ Start the development server on `http://localhost:3000`: npm run dev ``` +## Double Opt-in Email Verification + +### Overview +This feature enables email verification through a double opt-in process using Resend as the email service provider. + +### Configuration + +1. Generate your secret key: +```bash +npm run generate:secret +``` + +2. Add required environment variables to `.env`: +``` +NUXT_RESEND_API_KEY=your_resend_api_key_here +# SECRET_KEY will be auto-generated by the script above +``` + +#### Nuxt Config +Enable email verification in your `nuxt.config.ts`: + +```ts +export default defineNuxtConfig({ + nuxtHubLanding: { + verifyEmail: true, + email: 'your_resend_email@domain.com' + } +}) +``` + +#### Provider +Currently using [Resend](https://resend.com) as the email service provider. You'll need to: +1. Create a Resend account +2. Generate an API key +3. Verify your sending domain + + ## Deploy Deploy the application to NuxtHub @@ -63,7 +100,8 @@ Check out the [deployment documentation](https://hub.nuxt.com/docs/getting-start ## Roadmap - [X] Add rate limiting via [NuxtSecurity](https://nuxt-security.vercel.app/documentation/middleware/rate-limiter) -- [ ] Add Double-Opt-in +- [X] Add Double-Opt-in +- [ ] Add [NuxtSeo](https://nuxtseo.com/nuxt-seo/getting-started/what-is-nuxt-seo) module - [ ] Add more basic components - [ ] Faq-Area - [ ] Pricing-Area diff --git a/app.vue b/app.vue index 7182c35..5c12c25 100644 --- a/app.vue +++ b/app.vue @@ -1,18 +1,8 @@ diff --git a/assets/images/rlugo_profile_square.jpg b/assets/images/rlugo_profile_square.jpg new file mode 100644 index 0000000..94bbfc5 Binary files /dev/null and b/assets/images/rlugo_profile_square.jpg differ diff --git a/assets/images/tobias-transformed.jpeg b/assets/images/tobias-transformed.jpeg new file mode 100644 index 0000000..5b88b50 Binary files /dev/null and b/assets/images/tobias-transformed.jpeg differ diff --git a/components/ui/cards/TestimonialCard.vue b/components/ui/cards/TestimonialCard.vue index 8908f05..a8feb98 100644 --- a/components/ui/cards/TestimonialCard.vue +++ b/components/ui/cards/TestimonialCard.vue @@ -16,7 +16,9 @@ defineProps<{