A complete starter kit for building modern web applications with AI capabilities
Welcome! This project is designed to help developers quickly build amazing web applications that combine user authentication, AI chat features, and modern web technologies. Whether you're a beginner or an experienced developer, this starter kit gives you everything you need to get up and running in minutes.
This is a starter kit (think of it as a foundation or template) that provides:
- A modern web application built with cutting-edge technologies
- User authentication (sign up, sign in, and user management)
- AI-powered chat functionality using OpenAI
- A beautiful, responsive user interface
- Everything pre-configured and ready to use
Perfect for developers who want to build AI-powered applications without starting from scratch!
This starter kit comes with these features ready to use:
-
π Complete User Authentication
- Magic link login (no passwords needed!)
- Google OAuth integration
- Secure user sessions and data protection
-
π€ AI Chat Integration
- Real-time streaming chat with OpenAI
- Customizable AI settings (temperature, response length)
- Chat history and context preservation
- Token usage tracking
-
π¨ Beautiful, Modern Interface
- Responsive design that works on all devices
- Dark/light mode support
- Professional UI components
- Mobile-first approach
-
π Developer-Friendly Setup
- TypeScript for better code quality
- ESLint for code consistency
- Hot reload for instant development feedback
- Production-ready build system
This project uses modern, industry-standard technologies:
- Nuxt 3 - The intuitive web framework (built on Vue.js)
- Vue 3 - Progressive JavaScript framework
- TypeScript - For type-safe development
- Nuxt UI - Beautiful, accessible UI components
- TailwindCSS - Utility-first CSS framework
- Supabase - Backend-as-a-Service for authentication and database
- OpenAI API - For AI chat capabilities
- Server-Sent Events (SSE) - Real-time streaming for AI responses
Before getting started, we recommend forking this repository to your own GitHub account:
- Your own copy: You'll have your own version that you can modify freely
- Easy updates: You can pull in updates from the original repository when needed
- Backup: Your code will be safely stored in your GitHub account
- Collaboration: Others can contribute to your version via pull requests
-
Using GitHub UI (Easiest):
- Click the "Fork" button at the top-right of this repository page
- Choose your GitHub account as the destination
- GitHub will create a copy in your account
-
What happens: You'll get a copy like
your-username/nuxt-corestart-ai
π‘ Tip: After forking, you'll clone YOUR fork (not the original repository) in the next steps.
Follow these simple steps to get the project running on your computer:
Make sure you have Node.js installed on your computer:
- Download from nodejs.org (choose the LTS version)
- This will also install
npm
(package manager)
Before we start, you'll need to open a terminal (command line) on your computer:
- Terminal app: Press
Cmd + Space
, type "Terminal", press Enter - iTerm2: If installed, same process but search for "iTerm"
- VS Code: Open VS Code, then
Terminal β New Terminal
- Command Prompt: Press
Win + R
, typecmd
, press Enter - PowerShell: Press
Win + X
, select "Windows PowerShell" - Git Bash: If Git is installed, right-click in any folder β "Git Bash Here"
- WSL: If using Windows Subsystem for Linux, search for "WSL" or "Ubuntu"
- Terminal: Press
Ctrl + Alt + T
- Or: Search for "Terminal" in your applications menu
# See where you are
pwd
# List files and folders
ls # macOS/Linux
dir # Windows
# Change directory
cd folder-name # Go into a folder
cd .. # Go up one level
cd ~ # Go to home directory
You have several options to get the project on your computer:
If you forked the repository (recommended):
# Replace 'your-username' with your actual GitHub username
git clone https://github.com/your-username/nuxt-corestart-ai.git
If you want to clone the original repository:
# HTTPS (works everywhere)
git clone https://github.com/original-username/nuxt-corestart-ai.git
# SSH (if you have SSH keys set up)
git clone git@github.com:original-username/nuxt-corestart-ai.git
- Click the green "Code" button on the GitHub repository page
- Select "Download ZIP"
- Extract the ZIP file to your desired location
- Open terminal and navigate to the extracted folder
cd nuxt-corestart-ai
Open the project in your preferred code editor:
# If Cursor is installed and in your PATH
cursor .
# Or open Cursor and use File β Open Folder
β¨ Special for Cursor users: This project includes pre-configured AI coding rules and MCP integration for enhanced development experience!
# If VS Code is installed and in your PATH
code .
# Or open VS Code and use File β Open Folder
- WebStorm/IntelliJ: File β Open β Select the project folder
- Sublime Text: File β Open Folder
- Any editor: Just open the project folder
Recommended Extensions (VS Code/Cursor):
- Vue Language Features (Volar)
- TypeScript Vue Plugin (Volar)
- ESLint
- Tailwind CSS IntelliSense
- Auto Rename Tag
Install all the required packages (this might take a few minutes):
# Using npm (recommended for beginners)
npm install
You can use different package managers based on your needs:
# pnpm - Faster and more disk-efficient
pnpm install
# yarn - Good for monorepos and has excellent caching
yarn install
# bun - Fastest, newest package manager
bun install
Why use alternatives?
- npm: Default, most compatible, works everywhere
- pnpm: 2-3x faster, saves disk space by sharing packages between projects
- yarn: Excellent for large projects, reliable dependency resolution
- bun: Fastest installation and runtime, cutting-edge features
Which should you choose?
- Beginners: Stick with
npm
- Speed focused: Try
pnpm
orbun
- Large projects: Consider
yarn
Environment variables are like secret configuration settings for your app.
cp .env.example .env
β οΈ IMPORTANT: You need these API keys for the app to work properly!
Open the .env
file in your text editor and replace the placeholder values:
# OpenAI Configuration
# π Get this from: https://platform.openai.com/api-keys
OPENAI_API_KEY=your_actual_openai_api_key_here
# Supabase Configuration
# π Get these from: https://supabase.com/dashboard (your project settings)
SUPABASE_URL=your_actual_supabase_url
SUPABASE_KEY=your_actual_SUPABASE_KEY
- Go to OpenAI Platform
- Sign up for an account (you'll get some free credits!)
- Navigate to "API Keys" in your dashboard
- Click "Create new secret key"
- Copy the key and paste it into your
.env
file - Important: Keep this key secret and never commit it to version control!
- Go to Supabase
- Sign up and create a new project (it's free!)
- Wait for the project to be set up (takes ~2 minutes)
- Go to Project Settings β API
- Copy the "Project URL" and "Project API Key (anon public)"
- Paste them into your
.env
file
To enable Google OAuth login, you need to set up Google credentials. This process involves configuring both Google Cloud Console and Supabase.
β οΈ Important: Google requires you to configure a consent screen before creating OAuth credentials.
- Go to Google Cloud Console
- Create a new project or select an existing one from the dropdown at the top
- Wait for the project to be created/selected
π Note: Google requires this step before you can create OAuth credentials.
- In the left sidebar, click "APIs & services" β "OAuth consent screen"
- Choose "External" (unless you have a Google Workspace account)
- Click "Create"
- Fill in the required fields:
- App name: Your app name (e.g., "My AI App")
- User support email: Your email address
- Developer contact information: Your email address
- Click "Save and Continue" through the remaining steps (you can skip optional fields for now)
- Click "Back to Dashboard" when finished
- In the left sidebar, click "APIs & services" β "Library"
- Search for "Google+ API" in the search bar
- Click on "Google+ API" from the results
- Click "Enable" button
- Wait for the API to be enabled (this may take a moment)
- In the left sidebar, click "APIs & services" β "Credentials"
- Click "+ Create Credentials" β "OAuth client ID"
- Choose "Web application" as the application type
- Give it a name (e.g., "My App OAuth Client")
- Add Authorized Redirect URIs (see next section for how to get these URLs)
You have two options to get the correct callback URL:
Option A: From Supabase Dashboard (Recommended):
- Go to your Supabase Dashboard
- Select your project
- Navigate to "Authentication" β "Sign In / Providers" in the left sidebar
- Click on "Google" in the providers list
- You'll see the "Callback URL (for OAuth)" - copy this exact URL
Option B: Construct Manually:
- Your callback URL follows this pattern:
https://[your-project-ref].supabase.co/auth/v1/callback
- Replace
[your-project-ref]
with your Supabase project reference - To find your project reference: Look at your
SUPABASE_URL
- it's the part before.supabase.co
- Example: If your
SUPABASE_URL
ishttps://abcd1234.supabase.co
, then your callback URL ishttps://abcd1234.supabase.co/auth/v1/callback
Back in Google Cloud Console, add these URLs to "Authorized redirect URIs":
https://your-actual-project-ref.supabase.co/auth/v1/callback
http://localhost:3000/auth/callback
Replace
your-actual-project-ref
with your real Supabase project reference
Click "Create"
π Security Warning: Keep these credentials secure and never commit them to version control!
- Copy the Client ID - you'll need this for Supabase
- Copy the Client Secret - you'll also need this for Supabase
- Store them safely - consider using a password manager
- Go to your Supabase Dashboard
- Select your project
- In the left sidebar, click "Authentication" β "Sign In / Providers"
- Find "Google" in the list of providers and click on it
- Enable the Google provider by toggling the switch
- Paste your Google Client ID in the "Client ID" field
- Paste your Google Client Secret in the "Client Secret" field
- Click "Save" to apply the configuration
β Verification: You should see a green checkmark next to Google in the providers list
- Start your development server:
npm run dev
- Navigate to the login page: http://localhost:3000/login
- Look for the Google button: You should see a "Continue with Google" or "Sign in with Google" button
- Test the login flow: Click the button and verify it redirects to Google's OAuth flow
β "Error 400: redirect_uri_mismatch"
- Solution: Double-check that your redirect URI in Google Cloud Console exactly matches your Supabase callback URL
- Check: Make sure there are no extra spaces or typos in the URLs
β "Error 403: access_blocked"
- Solution: Make sure you've completed the OAuth consent screen configuration
- Check: Verify that your app is not in "Testing" mode if you want external users to access it
β Google button doesn't appear
- Solution: Check that you've enabled the Google provider in Supabase and saved the configuration
- Check: Verify your Client ID and Secret are correctly entered in Supabase
β "Invalid client" error
- Solution: Verify that your Client ID and Client Secret are correct
- Check: Make sure you copied the full credentials without any extra characters
If you're using Cursor AI editor, this provides enhanced database integration and AI assistance:
# Copy the MCP configuration template
cp .cursor/mcp.json.example .cursor/mcp.json
β οΈ Important: You need to edit the actualmcp.json
file, not themcp.json.example
file!
- Go to Supabase Account Settings
- Click "Generate new token"
- Give it a descriptive name (e.g., "Cursor MCP Integration")
- Copy the token immediately (you won't see it again!)
- Open
.cursor/mcp.json
in your editor - Replace
<personal-access-token>
with your actual Supabase token - Replace
<project-ref>
with your Supabase project reference (found in your project URL) - Save the file
- Restart Cursor completely
- Open the Cursor Chat (Cmd/Ctrl + L)
- Try asking: "Show me the database schema" or "What tables do I have in Supabase?"
- If working correctly, Cursor should be able to query your Supabase database structure
- Not working? Check that your token has the correct permissions
- Connection errors? Verify your project reference is correct
- Still issues? Restart Cursor and check the MCP logs in Cursor settings
This starts the app in development mode with hot reload (changes appear instantly):
npm run dev
π Your app will be available at: http://localhost:3000
When you're ready to deploy your app:
# Build the application for production
npm run build
# Preview the production build locally
npm run preview
This starter kit is perfect for creating:
- Customer Support Chatbots - Automated help desk with AI responses
- Business Intelligence Dashboards - Analytics with AI-generated insights
- Content Management Systems - With AI writing assistance
- Project Management Tools - With AI task automation
- Educational Tutoring Platforms - AI-powered learning assistance
- Team Collaboration Tools - With AI meeting summaries and suggestions
- Personal AI Assistants - For productivity and organization
- Language Learning Apps - With AI conversation practice
- AI Product Recommendations - Smart shopping experiences
- Automated Customer Service - 24/7 AI support
- Personalized User Experiences - AI-driven content curation
- Smart Inventory Management - AI-powered stock optimization
- Social Platforms - With AI content moderation
- CRM Systems - With AI lead scoring and automation
- Financial Tools - AI-powered expense tracking and budgeting
- Health & Fitness Apps - With AI coaching and recommendations
This starter kit is designed to be easily extended:
- π Add new pages: Create
.vue
files in thepages/
directory - π€ Custom AI features: Modify the OpenAI integration in
server/api/openai/
- ποΈ Database operations: Use Supabase client for data management
- π¨ UI components: Leverage Nuxt UI components or create your own
- π Authentication flows: Customize login/signup in the
auth/
pages
- Nuxt 3 Documentation: nuxt.com/docs
- Supabase Guides: supabase.com/docs
- OpenAI API Reference: platform.openai.com/docs
- Nuxt UI Components: ui.nuxt.com
- Not working? Make sure your
.env
file is in the root directory and contains the correct values - Still issues? Restart your development server after changing environment variables
- OpenAI errors? Check that your API key is valid and you have credits remaining
- Supabase errors? Verify your project URL and API key are correct
- Dependencies issues? Try deleting
node_modules
and runningnpm install
again - TypeScript errors? Make sure all required environment variables are set
- Google login not working? Check your OAuth configuration in both Google Cloud Console and Supabase
- Magic link not working? Verify your Supabase email settings
- Port already in use? Try
npm run dev -- --port 3001
to use a different port - Hot reload not working? Try restarting the development server
After getting everything set up:
- Explore the codebase: Check out the
pages/
,components/
, andserver/
directories - Customize the UI: Modify components in the
components/
directory - Add new features: Create new pages and API endpoints
- Deploy your app: Consider platforms like Vercel, Netlify, or Railway
- Join the community: Share what you build and get help from other developers
This project is open source and available under the MIT License.
Happy coding! π Start building something amazing with AI today!