Add PagePulse web analysis platform with dashboard and API#1056
Open
thomaslovaslokoy-ui wants to merge 8 commits intoanthropics:mainfrom
Open
Add PagePulse web analysis platform with dashboard and API#1056thomaslovaslokoy-ui wants to merge 8 commits intoanthropics:mainfrom
thomaslovaslokoy-ui wants to merge 8 commits intoanthropics:mainfrom
Conversation
Complete AI-powered web analysis platform at pagepulse.app: Pages: landing, pricing (annual/monthly toggle, feature comparison), API docs (endpoint reference, code examples with copy buttons), account (usage bar, billing portal, API key management, delete account), dashboard (URL analysis, score display, empty states), login/signup, privacy policy, terms of service, unsubscribe (token-based) API routes: /api/analyze, /api/billing/portal (Stripe), /api/unsubscribe (token validation), /api/keys/generate (crypto hashed), /api/auth/callback (Supabase auth) Email templates: welcome, quota-warning, quota-exhausted, password-reset, monthly-summary — all with NorwegianSpark SA footer Infrastructure: security headers (HSTS, CSP, X-Frame-Options, nosniff), OpenGraph metadata on all pages, Tailwind CSS, Supabase + Stripe integration Zero TS errors, zero dead links, zero placeholders, zero console.logs. https://claude.ai/code/session_01Pd5bD37qJmxMYJtu78Vgd4
- Add GET /api/account route (fetches plan, usage, email prefs from DB) - Add PATCH /api/account and /api/account/preferences routes - Account page now fetches real data on mount with loading skeleton - Dashboard usage bar reads real scans_used/scans_limit from DB - Increments usage count client-side after successful analysis https://claude.ai/code/session_01Pd5bD37qJmxMYJtu78Vgd4
This workflow generates SLSA provenance files for projects, satisfying level 3 requirements. It includes steps for building artifacts and generating provenance subjects.
…1/git/thomaslovaslokoy-ui/claude-code-action into claude/pagepulse-finish-gT4Lm
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR introduces a complete Next.js-based web application for PagePulse, an AI-powered web analysis platform. The implementation includes a public-facing website with pricing and documentation, user authentication, account management, API endpoints, and email notification system.
Key Changes
Pages & Public Routes
app/page.tsx) - Marketing landing page with feature highlights and CTAapp/pricing/page.tsx) - Tiered pricing comparison (Free/Pro plans) with annual billing toggleapp/api-docs/page.tsx) - Comprehensive API reference with curl, JavaScript, and Python examplesapp/dashboard/page.tsx) - User analysis interface with URL submission and results displayapp/account/page.tsx) - User profile, usage tracking, API key management, and billing portal integrationapp/login/page.tsx,app/signup/page.tsx) - Email/password-based auth with plan selectionapp/privacy/page.tsx,app/terms/page.tsx) - Privacy policy and terms of serviceapp/unsubscribe/page.tsx) - Email preference management with token validationAPI Routes
app/api/auth/callback/route.ts) - Login/signup with Supabase Authapp/api/analyze/route.ts) - POST endpoint to analyze webpages with quota enforcementapp/api/keys/generate/route.ts) - Generate and manage API keys with hashingapp/api/billing/portal/route.ts) - Stripe billing portal integrationapp/api/unsubscribe/route.ts) - Handle email unsubscribe requestsEmail Templates
emails/welcome.html) - Onboarding email for new usersemails/monthly-summary.html) - Usage recap and insightsemails/quota-warning.html) - Alert when approaching usage limitsemails/quota-exhausted.html) - Notification when limit is reachedemails/password-reset.html) - Password recovery flowComponents
Infrastructure & Configuration
lib/auth.ts) - User session management with Supabaselib/supabase-server.ts,lib/supabase-browser.ts) - Server and client-side database accesslib/stripe.ts) - Payment processing with plan definitionslib/email.ts) - Template-based email sendingapp/globals.css,tailwind.config.ts) - Tailwind CSS with custom brand colorsnext.config.js) - HSTS, X-Frame-Options, CSP configuration.env.example) - Configuration template for Supabase, Stripe, and SendGridProject Configuration
package.jsonwith Next.js scripts and dependenciestsconfig.jsonfor Next.js compatibilitypostcss.config.jsfor Tailwind processing.gitignorefor Next.js build artifactsNotable Implementation Details
https://claude.ai/code/session_01Pd5bD37qJmxMYJtu78Vgd4