https://github.com/aliaks-ei/nuxt-corestart-ai
🚀 A complete starter kit for building modern AI-powered web applications with Nuxt 3, Supabase, and OpenAI. Features built-in user authentication (magic links + OAuth), real-time AI chat with streaming responses, beautiful UI components, and TypeScript support. Perfect for developers who want to quickly launch AI-driven SaaS applications, chatbot
https://github.com/aliaks-ei/nuxt-corestart-ai
authentication css eslint html nuxt nuxtui openai supabase typescript vue
Last synced: about 2 months ago
JSON representation
🚀 A complete starter kit for building modern AI-powered web applications with Nuxt 3, Supabase, and OpenAI. Features built-in user authentication (magic links + OAuth), real-time AI chat with streaming responses, beautiful UI components, and TypeScript support. Perfect for developers who want to quickly launch AI-driven SaaS applications, chatbot
- Host: GitHub
- URL: https://github.com/aliaks-ei/nuxt-corestart-ai
- Owner: aliaks-ei
- License: mit
- Created: 2025-06-16T12:41:16.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2025-06-16T18:42:27.000Z (12 months ago)
- Last Synced: 2025-06-16T19:47:20.154Z (12 months ago)
- Topics: authentication, css, eslint, html, nuxt, nuxtui, openai, supabase, typescript, vue
- Language: Vue
- Homepage:
- Size: 162 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 🚀 Nuxt Corestart AI
**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.
## 🎯 What Is This Project?
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!
## ✨ Features Already Built For You
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
## 🛠 Technologies Used
This project uses modern, industry-standard technologies:
### Frontend Stack
- **[Nuxt 3](https://nuxt.com/)** - The intuitive web framework (built on Vue.js)
- **[Vue 3](https://vuejs.org/)** - Progressive JavaScript framework
- **[TypeScript](https://www.typescriptlang.org/)** - For type-safe development
- **[Nuxt UI](https://ui.nuxt.com/)** - Beautiful, accessible UI components
- **[TailwindCSS](https://tailwindcss.com/)** - Utility-first CSS framework
### Backend & Services
- **[Supabase](https://supabase.com/)** - Backend-as-a-Service for authentication and database
- **[OpenAI API](https://openai.com/)** - For AI chat capabilities
- **Server-Sent Events (SSE)** - Real-time streaming for AI responses
### Development Tools
- **[ESLint](https://eslint.org/)** - Code linting and formatting
- **[Valibot](https://valibot.dev/)** - Schema validation library
## 🍴 Fork This Repository (Recommended)
Before getting started, we recommend **forking** this repository to your own GitHub account:
### Why Fork?
- **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
### How to Fork:
1. **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
2. **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.
## 🚀 Getting Started
Follow these simple steps to get the project running on your computer:
### Prerequisites
Make sure you have **Node.js** installed on your computer:
- Download from [nodejs.org](https://nodejs.org/) (choose the LTS version)
- This will also install `npm` (package manager)
### 📱 Opening Your Terminal
Before we start, you'll need to open a terminal (command line) on your computer:
#### **macOS:**
- **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`
#### **Windows:**
- **Command Prompt**: Press `Win + R`, type `cmd`, 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"
#### **Linux:**
- **Terminal**: Press `Ctrl + Alt + T`
- **Or**: Search for "Terminal" in your applications menu
#### **Basic Navigation Commands:**
```bash
# 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
```
### Step 1: Download the Project
You have several options to get the project on your computer:
#### **Option A: Clone with Git (Recommended)**
If you forked the repository (recommended):
```bash
# 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:
```bash
# 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
```
#### **Option B: Download ZIP (No Git required)**
1. Click the green **"Code"** button on the GitHub repository page
2. Select **"Download ZIP"**
3. Extract the ZIP file to your desired location
4. Open terminal and navigate to the extracted folder
#### **Navigate to the project folder:**
```bash
cd nuxt-corestart-ai
```
### Step 2: Open in Your Code Editor
Open the project in your preferred code editor:
#### **Cursor (Recommended - AI-powered editor):**
```bash
# 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!
#### **VS Code:**
```bash
# If VS Code is installed and in your PATH
code .
# Or open VS Code and use File → Open Folder
```
#### **Other IDEs:**
- **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
### Step 3: Install Dependencies
Install all the required packages (this might take a few minutes):
```bash
# Using npm (recommended for beginners)
npm install
```
#### **Alternative Package Managers:**
You can use different package managers based on your needs:
```bash
# 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` or `bun`
- **Large projects**: Consider `yarn`
### Step 4: Set Up Environment Variables
Environment variables are like secret configuration settings for your app.
#### Create your environment file:
```bash
cp .env.example .env
```
---
## 🔑 **WHERE TO GET YOUR API KEYS**
> **⚠️ 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:
```bash
# 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
```
### 🔑 **Getting Your OpenAI API Key:**
1. Go to [OpenAI Platform](https://platform.openai.com/)
2. Sign up for an account (you'll get some free credits!)
3. Navigate to **"API Keys"** in your dashboard
4. Click **"Create new secret key"**
5. **Copy the key** and paste it into your `.env` file
6. **Important**: Keep this key secret and never commit it to version control!
### 🗄️ **Getting Your Supabase Credentials:**
1. Go to [Supabase](https://supabase.com/)
2. Sign up and **create a new project** (it's free!)
3. Wait for the project to be set up (takes ~2 minutes)
4. Go to **Project Settings → API**
5. Copy the **"Project URL"** and **"Project API Key (anon public)"**
6. Paste them into your `.env` file
---
### Step 5: Configure Google Authentication (Optional)
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.
### **Part A: Google Cloud Console Setup**
### **1. Create or Select a Project:**
1. Go to [Google Cloud Console](https://console.cloud.google.com/)
2. **Create a new project** or select an existing one from the dropdown at the top
3. Wait for the project to be created/selected
### **2. Configure OAuth Consent Screen (Required):**
> **📋 Note**: Google requires this step before you can create OAuth credentials.
1. In the **left sidebar**, click **"APIs & services"** → **"OAuth consent screen"**
2. Choose **"External"** (unless you have a Google Workspace account)
3. Click **"Create"**
4. 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
5. Click **"Save and Continue"** through the remaining steps (you can skip optional fields for now)
6. Click **"Back to Dashboard"** when finished
### **3. Enable Google+ API:**
1. In the **left sidebar**, click **"APIs & services"** → **"Library"**
2. Search for **"Google+ API"** in the search bar
3. Click on **"Google+ API"** from the results
4. Click **"Enable"** button
5. Wait for the API to be enabled (this may take a moment)
### **4. Create OAuth Credentials:**
1. In the **left sidebar**, click **"APIs & services"** → **"Credentials"**
2. Click **"+ Create Credentials"** → **"OAuth client ID"**
3. Choose **"Web application"** as the application type
4. Give it a name (e.g., "My App OAuth Client")
5. **Add Authorized Redirect URIs** (see next section for how to get these URLs)
### **5. Get Your Callback URLs:**
You have two options to get the correct callback URL:
**Option A: From Supabase Dashboard (Recommended):**
1. Go to your [Supabase Dashboard](https://supabase.com/dashboard)
2. Select your project
3. Navigate to **"Authentication"** → **"Sign In / Providers"** in the left sidebar
4. Click on **"Google"** in the providers list
5. 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` is `https://abcd1234.supabase.co`, then your callback URL is `https://abcd1234.supabase.co/auth/v1/callback`
### **6. Add the Redirect URIs:**
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"**
### **7. Copy Your Credentials:**
> **🔐 Security Warning**: Keep these credentials secure and never commit them to version control!
1. **Copy the Client ID** - you'll need this for Supabase
2. **Copy the Client Secret** - you'll also need this for Supabase
3. **Store them safely** - consider using a password manager
### **Part B: Supabase Configuration**
### **1. Navigate to Providers:**
1. Go to your [Supabase Dashboard](https://supabase.com/dashboard)
2. Select your project
3. In the left sidebar, click **"Authentication"** → **"Sign In / Providers"**
### **2. Configure Google Provider:**
1. Find **"Google"** in the list of providers and click on it
2. **Enable** the Google provider by toggling the switch
3. **Paste your Google Client ID** in the "Client ID" field
4. **Paste your Google Client Secret** in the "Client Secret" field
5. Click **"Save"** to apply the configuration
> **✅ Verification**: You should see a green checkmark next to Google in the providers list
### **Part C: Testing Google Authentication**
### **Test the Integration:**
1. **Start your development server**: `npm run dev`
2. **Navigate to the login page**: [http://localhost:3000/login](http://localhost:3000/login)
3. **Look for the Google button**: You should see a "Continue with Google" or "Sign in with Google" button
4. **Test the login flow**: Click the button and verify it redirects to Google's OAuth flow
### **Troubleshooting Common Issues:**
**❌ "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
### Step 6: Setup Cursor MCP Integration for Supabase (Optional)
*If you're using Cursor AI editor, this provides enhanced database integration and AI assistance:*
#### **Copy and Configure MCP File:**
```bash
# Copy the MCP configuration template
cp .cursor/mcp.json.example .cursor/mcp.json
```
> **⚠️ Important**: You need to edit the actual `mcp.json` file, not the `mcp.json.example` file!
#### **Get Supabase Personal Access Token:**
1. Go to [Supabase Account Settings](https://supabase.com/dashboard/account/tokens)
2. Click **"Generate new token"**
3. Give it a descriptive name (e.g., "Cursor MCP Integration")
4. **Copy the token** immediately (you won't see it again!)
#### **Configure the MCP File:**
1. Open `.cursor/mcp.json` in your editor
2. Replace `` with your actual Supabase token
3. Replace `` with your Supabase project reference (found in your project URL)
4. **Save the file**
#### **Test MCP Integration in Cursor:**
1. **Restart Cursor** completely
2. Open the **Cursor Chat** (Cmd/Ctrl + L)
3. Try asking: *"Show me the database schema"* or *"What tables do I have in Supabase?"*
4. If working correctly, Cursor should be able to query your Supabase database structure
#### **Troubleshooting MCP:**
- **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
## 🏃♂️ Running the Project
### Start Development Server
This starts the app in development mode with hot reload (changes appear instantly):
```bash
npm run dev
```
🎉 **Your app will be available at:** [http://localhost:3000](http://localhost:3000)
### Build for Production
When you're ready to deploy your app:
```bash
# Build the application for production
npm run build
# Preview the production build locally
npm run preview
```
## 💡 What Can You Build With This?
This starter kit is perfect for creating:
### 🎯 **AI-Powered Business Tools**
- **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
### 💬 **Smart Communication Apps**
- **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
### 🛍 **E-commerce & SaaS Applications**
- **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
### 📊 **Data-Driven Applications**
- **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
## 🔧 How to Customize & Extend
This starter kit is designed to be easily extended:
- **📄 Add new pages**: Create `.vue` files in the `pages/` 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
## 🆘 Need Help?
### Documentation & Guides
- **Nuxt 3 Documentation**: [nuxt.com/docs](https://nuxt.com/docs)
- **Supabase Guides**: [supabase.com/docs](https://supabase.com/docs)
- **OpenAI API Reference**: [platform.openai.com/docs](https://platform.openai.com/docs)
- **Nuxt UI Components**: [ui.nuxt.com](https://ui.nuxt.com)
### Common Issues
#### **Environment Variables**
- **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
#### **API Errors**
- **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
#### **Build Errors**
- **Dependencies issues?** Try deleting `node_modules` and running `npm install` again
- **TypeScript errors?** Make sure all required environment variables are set
#### **Authentication Issues**
- **Google login not working?** Check your OAuth configuration in both Google Cloud Console and Supabase
- **Magic link not working?** Verify your Supabase email settings
#### **Development Server Issues**
- **Port already in use?** Try `npm run dev -- --port 3001` to use a different port
- **Hot reload not working?** Try restarting the development server
## 🚀 Next Steps
After getting everything set up:
1. **Explore the codebase**: Check out the `pages/`, `components/`, and `server/` directories
2. **Customize the UI**: Modify components in the `components/` directory
3. **Add new features**: Create new pages and API endpoints
4. **Deploy your app**: Consider platforms like Vercel, Netlify, or Railway
5. **Join the community**: Share what you build and get help from other developers
## 📄 License
This project is open source and available under the [MIT License](LICENSE).
---
**Happy coding! 🎉** Start building something amazing with AI today!