# πŸš€ Deploy Easypeasy Feaso in 10 Minutes **A step-by-step guide for non-technical people. No coding required.** > **What you'll do:** Sign up for 2 free services (Supabase + Vercel), copy-paste 3 things, click "Deploy". Your app will be live on the internet for anyone to use. > **What it costs:** $0/month to start. Both Supabase and Vercel have generous free tiers. --- ## Before you start You'll need: - βœ… A computer with a web browser (Chrome, Edge, Safari, or Firefox) - βœ… An email address - βœ… A credit card (NOT charged β€” used only for identity verification on Vercel) - βœ… About 15-20 minutes **That's it.** No programming, no terminal, no command line. --- ## The Big Picture Here's what we're doing, in plain English: ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Your Computer β”‚ β”‚ Supabase β”‚ β”‚ ───────────── β”‚ β”‚ ───────── β”‚ β”‚ Web browser β”‚ ──────▢ β”‚ Free database β”‚ β”‚ β”‚ β”‚ Stores user accountsβ”‚ β”‚ Easypeasy Feaso β”‚ β”‚ + projects β”‚ β”‚ (hosted on Vercel) β”‚ β”‚ β”‚ β”‚ β”‚ ◀────── β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β–Ό β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Vercel (free) β”‚ β”‚ ───────────── β”‚ β”‚ Hosts your website β”‚ β”‚ Gives it a URL β”‚ β”‚ e.g. yourname.vercel.app β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` You create: 1. A free **Supabase** account β†’ gives you a "database URL" (long web address) 2. A free **Vercel** account β†’ hosts your website 3. Copy 3 secret codes from Supabase into Vercel 4. Click **Deploy** on Vercel That's it. --- # Part 1: Set up Supabase (the database) > **Time:** ~5 minutes > **What this does:** Creates a free online database where user accounts and projects will be stored. ## Step 1.1 β€” Go to Supabase Open your web browser and go to: **πŸ‘‰ https://supabase.com** You'll see a page that says "The open source Firebase alternative" with a big green "Start your project" button. **Click the green "Start your project" button.** > πŸ’‘ *Don't worry if the page looks slightly different β€” companies update their websites. The button might say "Get started" or "Sign up". Just click whatever big green button is on the page.* --- ## Step 1.2 β€” Create an account You'll see a sign-up page. You can sign up with: - **GitHub** (easiest if you have one) - **Google** (easiest if you use Gmail) - **Email + password** (always works) **Pick whichever is easiest for you.** If you use email: 1. Type your email address 2. Choose a strong password (at least 12 characters) 3. Click the green "Sign Up" button 4. Check your email inbox for a confirmation message from Supabase 5. Click the confirmation link in that email --- ## Step 1.3 β€” Create a new project After signing in, you'll see the Supabase dashboard. Look for a big button that says **"New Project"** (it might be in the middle of the screen, or in the top right corner). **Click "New Project".** You'll see a form with these fields: ### Field 1: Name - Type: `easypeasy-feaso` (or any name you like β€” this is just for your reference) - Example: `my-feaso-app` ### Field 2: Database Password - Click "Generate a password" (the button next to the field) β€” Supabase creates a super-strong random password for you - **⚠️ IMPORTANT: Copy this password and save it somewhere safe!** (Notes app, password manager, a piece of paper) - You will NOT see this password again - You need it if you ever want to access the database directly - If you lose it, you can generate a new one (but it's annoying) ### Field 3: Region - Click the dropdown - Pick the region closest to your users: - πŸ‡¦πŸ‡Ί **Australia users** β†’ choose `Sydney (ap-southeast-2)` ← **recommended for AU** - πŸ‡³πŸ‡Ώ New Zealand users β†’ `Sydney (ap-southeast-2)` - πŸ‡ΊπŸ‡Έ US users β†’ `North Virginia (us-east-1)` or `Oregon (us-west-2)` - πŸ‡ͺπŸ‡Ί EU users β†’ `Frankfurt (eu-central-1)` - πŸ‡ΈπŸ‡¬ Asia users β†’ `Singapore (ap-southeast-1)` ### Field 4: Pricing Plan - It should already say "Free" β€” leave it as is **Click the green "Create new project" button at the bottom.** > ⏰ *Wait 1-2 minutes. Supabase is setting up your database. You'll see a progress bar or "Setting up project..." message. Don't close the tab!* When it's done, you'll be taken to your project dashboard. --- ## Step 1.4 β€” Get your 3 secret codes This is the most important step. You need to copy 3 things and save them somewhere safe (a text file, a password manager, or just leave this tab open). ### πŸ”‘ Code 1: Your Project URL In the left sidebar, click the **gear icon** at the bottom (it says "Project Settings"). > πŸ’‘ *Can't see the gear? The left sidebar might be collapsed. Look for a small arrow `<` to expand it.* On the Settings page, click **"API"** in the left menu. You'll see a page with several sections. Find the section called **"Project URL"**. You'll see something like: ``` https://abcdefghijk.supabase.co ``` **Click the copy icon** (πŸ“‹) next to it. > πŸ“ Paste this into a text file or Notepad. Label it: **SUPABASE_URL** --- ### πŸ”‘ Code 2: Your Anon Public Key Still on the same page (Settings β†’ API), scroll down to the section called **"Project API keys"**. You'll see TWO keys: - `anon` `public` ← **this is the one you want** - `service_role` ← **NOT this one** For the `anon public` key, click the eye icon (πŸ‘) to reveal it, then click the copy icon (πŸ“‹). It will look something like: ``` eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZS... ``` (It's a LONG string β€” that's normal.) > πŸ“ Paste this into your text file. Label it: **SUPABASE_ANON_KEY** --- ### πŸ”‘ Code 3: Your Service Role Key Same section ("Project API keys"), but now look at the **`service_role`** key. > ⚠️ **This one is SECRET.** Never share it publicly. Never post it on social media. Never paste it in a public chat. Click the eye icon (πŸ‘) to reveal it, then click the copy icon (πŸ“‹). It will look similar to the anon key, but different. > πŸ“ Paste this into your text file. Label it: **SUPABASE_SERVICE_ROLE_KEY** --- βœ… **You should now have 3 things saved in a text file:** - `SUPABASE_URL` = `https://xxxxx.supabase.co` - `SUPABASE_ANON_KEY` = `eyJ...` (long string) - `SUPABASE_SERVICE_ROLE_KEY` = `eyJ...` (another long string) **Keep this text file open** β€” you'll need it in the next steps. --- ## Step 1.5 β€” Set up the database tables Still in your Supabase dashboard, look at the left sidebar. Click the icon that looks like a **document with "SQL" on it** (it says "SQL Editor"). > πŸ’‘ *If you can't find it, the SQL Editor is the 3rd or 4th item in the left sidebar.* You'll see a big text area with a "New query" button. **Click "New query"** (or "New SQL query"). A blank text editor will open. Now do this: 1. **Open the file `supabase/schema.sql` from your computer** in any text editor (Notepad, TextEdit, VS Code) - If you downloaded the project as a ZIP, unzip it first - The file is at: `easypeasy-feaso/supabase/schema.sql` 2. **Select ALL the text** in that file (Ctrl+A on Windows/Linux, Cmd+A on Mac) 3. **Copy it** (Ctrl+C / Cmd+C) 4. **Go back to your browser** with the Supabase SQL Editor open 5. **Click inside the big text area** in the browser 6. **Paste** (Ctrl+V / Cmd+V) You should see a LOT of text appear in the editor β€” about 500 lines of code. That's normal! **Click the green "Run" button** (or press Ctrl+Enter / Cmd+Enter). > ⏰ *Wait 5-10 seconds. You'll see messages appear at the bottom. The last message should say "Success. No rows returned" or similar.* βœ… **If you see "Success":** your database is set up! ❌ **If you see a red error:** copy the error message and email it to support (or search the error on Google β€” usually it's a permissions issue, just try again). --- ## Step 1.6 β€” Configure authentication In the left sidebar, click the **"Authentication"** icon (it looks like a key πŸ”‘ or a person). You'll see several tabs: "Users", "Policies", "Providers", etc. ### Click "URL Configuration" You'll see two fields: 1. **Site URL:** Type your future website URL - For now, type: `http://localhost:3000` - (You'll change this later when you have a real domain) 2. **Redirect URLs:** Click "Add URL" and add these two: - `http://localhost:3000/auth/callback` - `https://*.vercel.app/auth/callback` (this allows any Vercel preview URL) **Click "Save"** at the bottom. --- ### Click "Providers" (still in Authentication) You'll see a list of login methods: Email, Google, GitHub, etc. #### βœ… Email (already enabled by default) - Should say "Enabled" β€” if not, click the Email row, toggle "Enable", and Save #### πŸ”΅ Google (optional but recommended) **Skip this for now** if you just want to test. You can add Google login later. Same for GitHub. **Click "Save"** if you made changes. --- ## βœ… Part 1 Complete! Your Supabase database is set up. You should now have: - A Supabase project - 3 secret codes saved in a text file - Database tables created - Authentication configured **Take a 2-minute break.** β˜• --- # Part 2: Set up Vercel (the website host) > **Time:** ~5 minutes > **What this does:** Deploys your website to the internet with a public URL. ## Step 2.1 β€” Sign up for Vercel Open a new browser tab and go to: **πŸ‘‰ https://vercel.com** Click the **"Sign Up"** button (top right). **Choose "Continue with GitHub"** (easiest). > πŸ’‘ *If you don't have GitHub, choose "Continue with Email" β€” but GitHub is required to deploy the code, so you'll need to create a GitHub account too. Go to https://github.com/signup first.* If you chose GitHub: 1. Sign in to GitHub if prompted 2. Authorize Vercel to access your GitHub 3. You'll be taken to the Vercel dashboard **Note:** Vercel will ask for a credit card to verify your identity. You will **NOT be charged** unless you explicitly upgrade to a paid plan. The free tier is genuinely free for personal use. --- ## Step 2.2 β€” Create a new project In your Vercel dashboard, click **"Add New..."** β†’ **"Project"** (top right). You'll see a screen asking you to import a Git repository. **If you're using GitHub:** - Find the `easypeasy-feaso` repository in the list - Click **"Import"** next to it - (If you don't have the code in a GitHub repo yet, see the "Alternative" section below) **If you're NOT using GitHub**, see the "Alternative" section below. ### Alternative: Deploy without GitHub If you don't want to use GitHub, you can deploy manually: 1. Go to https://vercel.com/new 2. Choose "Browse" or drag-and-drop 3. Upload the entire `easypeasy-feaso` project folder 4. Continue with Step 2.3 > πŸ’‘ *GitHub is recommended because every time you push code, Vercel automatically deploys the new version. Manual uploads are fine for testing.* --- ## Step 2.3 β€” Configure the project You'll see a "Configure Project" page with several sections. ### Project Name - Type: `easypeasy-feaso` (or any name you like) - This becomes part of your URL: `easypeasy-feaso.vercel.app` ### Framework Preset - Should auto-detect as **"Next.js"** β€” leave it ### Root Directory - Leave blank (or `.`) ### Build and Output Settings - Leave defaults ### Environment Variables ← **THIS IS THE IMPORTANT PART** Scroll down until you see **"Environment Variables"**. You're going to add 3 variables. For each one: 1. **Name:** (the variable name) 2. **Value:** (paste the value from your text file) 3. Click **"Add"** #### Variable 1: - **Name:** `NEXT_PUBLIC_SUPABASE_URL` - **Value:** Paste your `SUPABASE_URL` from earlier - Example: `https://abcdefghijk.supabase.co` #### Variable 2: - **Name:** `NEXT_PUBLIC_SUPABASE_ANON_KEY` - **Value:** Paste your `SUPABASE_ANON_KEY` - Example: `eyJhbGciOiJIUzI1NiIs...` #### Variable 3: - **Name:** `SUPABASE_SERVICE_ROLE_KEY` - **Value:** Paste your `SUPABASE_SERVICE_ROLE_KEY` - Example: `eyJhbGciOiJIUzI1NiIs...` > πŸ’‘ *Make sure there are NO extra spaces before/after the values!* **Double-check each variable name** is spelled EXACTLY as shown. Capitalization matters! --- ## Step 2.4 β€” Deploy! Scroll to the bottom and click the big black **"Deploy"** button. > ⏰ *Wait 2-3 minutes. Vercel is building your website. You'll see a progress screen with build logs.* When it's done, you'll see **"πŸŽ‰ Congratulations!"** and a screenshot of your site. **Click the URL** at the top (something like `https://easypeasy-feaso.vercel.app`) to see your live site! --- ## βœ… Part 2 Complete! Your website is now live on the internet! Anyone with the link can visit it. --- # Part 3: Verify everything works ## Step 3.1 β€” Test sign-up 1. Open your live website URL in a new tab (incognito mode is best) 2. Click **"Sign up free"** in the top right 3. Fill in: - Full name: `Test User` - Email: `your-test-email@example.com` (use a real email you can check) - Password: any password (at least 6 characters) 4. Click **"Create account"** βœ… **If it works:** you'll be redirected to the dashboard, signed in as your test user ❌ **If you see "Auth not configured" or similar error:** the env vars weren't set correctly β€” go back to Vercel β†’ Project Settings β†’ Environment Variables and check them --- ## Step 3.2 β€” Check the database Go back to your Supabase dashboard. In the left sidebar, click **"Table Editor"** (it looks like a table icon). You should see a list of tables: - `profiles` - `projects` - `ai_usage` - `audit_log` - `billing_events` - `share_views` **Click on `profiles`** β€” you should see your test user listed there! βœ… **If you see the user:** everything is working perfectly. --- # Part 4: Add a custom domain (optional) > **Skip this if** `yourname.vercel.app` is good enough for now. ## Step 4.1 β€” Buy a domain If you want a custom domain like `www.yourcompany.com.au`: **Recommended registrars** (Australian): - [Namecheap](https://namecheap.com) β€” ~$12/year for `.com` - [Porkbun](https://porkbun.com) β€” cheap, easy - [Crazy Domains](https://crazydomains.com.au) β€” AU-focused Just buy a domain β€” you don't need any other services from them. ## Step 4.2 β€” Connect it to Vercel 1. In Vercel, go to your project β†’ **Settings** β†’ **Domains** 2. Type your custom domain (e.g. `yourcompany.com.au`) 3. Click **"Add"** 4. Vercel will show you DNS records you need to add 5. Go to your domain registrar's DNS settings 6. Add the records Vercel shows you 7. Wait 5-30 minutes for DNS to propagate > πŸ’‘ *Vercel automatically provisions a free SSL certificate (https://). Your site will be secure.* --- ## Step 4.3 β€” Update Supabase Remember in Step 1.6 you set the Site URL to `http://localhost:3000`? You need to update that: 1. Go to Supabase β†’ **Authentication** β†’ **URL Configuration** 2. **Site URL:** change to `https://yourdomain.com` 3. **Redirect URLs:** add `https://yourdomain.com/auth/callback` 4. Click **Save** --- # πŸŽ‰ All Done! You now have: - βœ… A live website on the internet - βœ… A real database (Supabase) with users and projects - βœ… Email + password authentication - βœ… Free hosting with automatic SSL - βœ… Total cost: $0/month **Next steps you might want:** - Enable Google login (Supabase β†’ Authentication β†’ Providers β†’ Google β€” follow the wizard) - Set up a custom domain (Part 4 above) - Add a payment system (Stripe β€” see Stripe docs) - Monitor errors (Sentry β€” free tier available) --- # Troubleshooting ## "Auth not configured" error **Problem:** Sign-up or sign-in shows "Auth not configured" **Solution:** 1. Go to Vercel β†’ your project β†’ **Settings** β†’ **Environment Variables** 2. Check all 3 Supabase variables are there and spelled correctly 3. **Redeploy:** go to **Deployments** tab β†’ click the three dots (...) on the latest deployment β†’ **"Redeploy"** ## "Database error saving new user" **Problem:** Sign-up succeeds but user isn't saved **Solution:** 1. Go to Supabase β†’ **SQL Editor** 2. Re-run the schema (it should be idempotent β€” safe to run twice) 3. Check the **Table Editor** β†’ `profiles` table β€” does the user appear? ## "Invalid API key" error **Problem:** Supabase rejects the connection **Solution:** - Make sure you copied the FULL anon key (it's very long) - No extra spaces, quotes, or line breaks - The key should start with `eyJ...` ## "Email not confirmed" β€” can't sign in **Problem:** User signed up but never got a confirmation email **Solution:** 1. Go to Supabase β†’ **Authentication** β†’ **Providers** β†’ **Email** 2. Toggle **"Confirm email"** OFF (for now β€” turn it back on later for production) 3. Click Save 4. User can now sign in without email confirmation ## "This site can't be reached" after deployment **Problem:** Website URL shows browser error **Solution:** - Wait 2-3 minutes β€” Vercel sometimes takes a moment to provision the URL - Check the deployment status in Vercel's **Deployments** tab β€” if it failed, click on it to see why - Common cause: build error. Look at the build log. ## Need more help? - **Supabase docs:** https://supabase.com/docs - **Vercel docs:** https://vercel.com/docs - **This guide:** re-read carefully β€” most issues are typos in env vars - **Email support:** [your email here] --- # Quick Reference Card Print this page and keep it next to your computer: ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ DEPLOYMENT QUICK REFERENCE β”‚ β”‚ ────────────────────────── β”‚ β”‚ β”‚ β”‚ Supabase: https://supabase.com β”‚ β”‚ Vercel: https://vercel.com β”‚ β”‚ β”‚ β”‚ Env vars to set in Vercel: β”‚ β”‚ ─ NEXT_PUBLIC_SUPABASE_URL β”‚ β”‚ ─ NEXT_PUBLIC_SUPABASE_ANON_KEY β”‚ β”‚ ─ SUPABASE_SERVICE_ROLE_KEY β”‚ β”‚ β”‚ β”‚ SQL to run: supabase/schema.sql β”‚ β”‚ β”‚ β”‚ Test sign-up at: /signup β”‚ β”‚ Your URL: https://yourapp.vercel.app β”‚ β”‚ β”‚ β”‚ Support: β”‚ β”‚ ─ Supabase Discord: discord.supabase.com β”‚ β”‚ ─ Vercel Twitter: @vercel β”‚ β”‚ β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` --- **Built with care by Globalcsm Pty Ltd Β· ABN 14 127 573 219 Β· Sydney NSW** Version 1.0 Β· Last updated: 2026