A comprehensive wellness management application built with React, TypeScript, and Supabase. This system provides complete client onboarding, profile management, scan data processing, and form building capabilities.
- Multi-role authentication (Admin, Staff, Client)
- Secure user registration and login
- Role-based access control
- Comprehensive client onboarding wizard
- Dynamic form builder for custom onboarding
- Profile management with step-by-step editing
- Client search and management tools
- Automated scan file processing (Excel, CSV, PDF, Images)
- Path ID extraction and client assignment
- Dropbox integration for automated uploads
- Scan comparison and trend analysis
- Drag-and-drop form builder
- Multiple field types (text, select, checkbox, file upload, etc.)
- Form templates and reusable components
- Import forms from various file formats
- Modern, responsive design with Tailwind CSS
- Luxury pastel wellness color palette
- Smooth animations and micro-interactions
- Mobile-first responsive design
- Frontend: React 18, TypeScript, Vite
- Styling: Tailwind CSS with custom wellness design system
- Backend: Supabase (PostgreSQL, Auth, Storage)
- Icons: Lucide React
- Forms: React Hook Form with Zod validation
- File Processing: XLSX, PDF.js, Mammoth
- Deployment: Netlify ready
-
Clone the repository
git clone https://github.com/yourusername/lifepath-wellness.git cd lifepath-wellness -
Install dependencies
npm install
-
Set up environment variables
cp .env.example .env
Update
.envwith your Supabase credentials:VITE_SUPABASE_URL=your-supabase-url VITE_SUPABASE_ANON_KEY=your-supabase-anon-key
-
Set up Supabase database
- Create a new Supabase project
- Run the migration files in
supabase/migrations/in order - Enable Row Level Security (RLS) on all tables
-
Start development server
npm run dev
The application uses a comprehensive PostgreSQL schema with the following main tables:
- profiles - User profile information
- clients - Client-specific data and codes
- client_onboarding_data - Comprehensive onboarding information
- form_templates - Dynamic form templates
- scans - Scan data and processing results
- bookings - Appointment scheduling
- payments - Payment processing
- system_settings - Application configuration
- Create custom onboarding forms in Settings > Form Templates
- Set default onboarding form in system settings
- Import forms from Excel, CSV, PDF, or Word documents
- Admin: Full system access, user management, settings
- Staff: Client management, scan processing, reports
- Client: Personal profile, wellness tracking, appointments
- Automatic client ID extraction from cell A3
- Support for multiple file formats
- Dropbox integration for automated processing
- Quality scoring and validation
npm run build
# Deploy the dist/ folder to NetlifyVITE_SUPABASE_URL=your-production-supabase-url
VITE_SUPABASE_ANON_KEY=your-production-anon-key
VITE_DEFAULT_CURRENCY=ZAR
VITE_TIMEZONE=Africa/Johannesburg
VITE_VAT_RATE=0.15For testing purposes, you can use these demo accounts:
- Admin: admin@lifepath.com / admin123
- Staff: staff@lifepath.com / staff123
- Client: client@lifepath.com / client123
src/
βββ components/ # Reusable UI components
β βββ auth/ # Authentication components
β βββ admin/ # Admin-specific components
β βββ client/ # Client-specific components
β βββ forms/ # Form builder and renderer
β βββ scans/ # Scan management components
β βββ ui/ # Base UI components
β βββ layout/ # Layout components
βββ hooks/ # Custom React hooks
βββ lib/ # Utility functions and configurations
βββ pages/ # Page components
βββ types/ # TypeScript type definitions
- Drag-and-drop interface with react-beautiful-dnd
- Dynamic field types with validation
- Real-time preview and editing
- Export/import functionality
- Multi-format file support
- Automated client matching
- Quality scoring algorithm
- Batch processing capabilities
- Step-by-step editing wizard
- Auto-save functionality
- Progress tracking
- Comprehensive data validation
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
For support, email support@lifepathwellness.co.za or create an issue in this repository.
- Built with modern React and TypeScript best practices
- Designed with accessibility and user experience in mind
- Optimized for South African wellness industry requirements
- Inspired by leading wellness and healthcare platforms