A multi-step, mobile-first application form for agents with offline capabilities, API validation, and automated submission processing.
- Supabase Schema: Database tables and RLS policies created (
supabase/schema.sql) - Frontend Setup: Vue.js project initialized with all dependencies
- Project Structure: Basic folder structure and configuration files created
- Vercel API Placeholder: Basic serverless function structure created
- Awaiting Supabase project credentials
- Awaiting Vercel project setup and environment variables
- Create a new project in the Supabase Dashboard
- Once created, go to the SQL Editor and run the entire contents of
supabase/schema.sql - From Settings > API, copy:
- Project URL (looks like:
https://xxxxx.supabase.co) - anon public key (safe for frontend)
- service_role key (SECRET - for backend only)
- Project URL (looks like:
- Clone this repository
- Copy
env.exampleto.envand fill in your Supabase credentials:VITE_SUPABASE_URL=your_project_url VITE_SUPABASE_ANON_KEY=your_anon_key - Install dependencies:
npm install
- Start the development server:
npm run dev
- Create a new project on Vercel
- Link it to your Git repository
- Add these environment variables in Vercel project settings:
SUPABASE_URL- Your Supabase project URLSUPABASE_SERVICE_ROLE_KEY- Your service role key (SECRET)COMPANIES_HOUSE_API_KEY- Your Companies House API keyGETADDRESS_API_KEY- Your getaddress.io API key
Once you provide the required credentials, we'll continue with:
- Implementing the authentication system (Phase 2)
- Building the multi-step form components (Phase 3)
- Adding offline support with IndexedDB (Phase 4)
- Completing the backend submission processing (Phase 5)
├── api/ # Vercel serverless functions
│ └── submit-application.js
├── src/
│ ├── components/ # Vue components
│ ├── views/ # Page components
│ ├── stores/ # Pinia stores
│ ├── services/ # API services
│ ├── router/ # Vue Router config
│ └── main.js # App entry point
├── supabase/
│ └── schema.sql # Database schema
└── package.json # Dependencies
- Frontend: Vue 3, Vite, Pinia, Vue Router, Tailwind CSS
- Backend: Vercel Functions (Node.js)
- Database: Supabase (PostgreSQL)
- Offline Storage: Dexie.js (IndexedDB wrapper)
- APIs: Companies House, getaddress.io