A comprehensive web application for creating and managing professional websites with an integrated client dashboard, admin panel, and project management system.
- Step-by-Step Project Creation - Guided onboarding flow for website projects
- Interactive Dashboard - Track project progress, upload assets, and manage payments
- Asset Upload System - Upload logos, images, content, and brand materials
- Payment Integration - Secure payments with Stripe (partial and full payment options)
- Real-time Progress Tracking - Visual project timeline and status updates
- Support System - Create tickets and communicate with the team
- Comprehensive Admin Dashboard - Manage all projects, clients, and payments
- Kanban Board - Visual project management with drag-and-drop functionality
- Client Management - Complete client information and project history
- Payment Management - Process payments and track financial data
- Asset Management - View and manage all client-uploaded assets
- Storage Management - Cleanup tools to optimize Supabase storage usage
- Database Overview - Complete system statistics and monitoring
- Authentication System - Secure user authentication with role-based access
- File Storage - Supabase storage integration for asset management
- Responsive Design - Mobile-friendly interface across all devices
- Real-time Updates - Live data synchronization
- Tax Calculations - Automatic GST/QST calculation for Canadian clients
- Frontend: React 18, TypeScript, Vite
- Styling: Tailwind CSS, Framer Motion
- Backend: Supabase (PostgreSQL, Authentication, Storage)
- Payments: Stripe Integration
- Icons: Heroicons
- State Management: React Hooks, Context API
-
Clone the repository
git clone <repository-url> cd websiter
-
Install dependencies
npm install
-
Environment Setup Create a
.envfile in the root directory:VITE_SUPABASE_URL=your_supabase_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key VITE_STRIPE_PUBLISHABLE_KEY=your_stripe_publishable_key
-
Database Setup
- Run the SQL migrations in
database/migrations/in your Supabase SQL editor - Set up the required database tables and policies
- Run the SQL migrations in
-
Start Development Server
npm run dev
users- User accounts and profilesprojects- Website projects and detailsproject_assets- Client-uploaded files and assetspayments- Payment records and transactions
- Row Level Security (RLS) for data protection
- Automated timestamps and user tracking
- Foreign key relationships for data integrity
- Role-based Access Control - Client and Admin roles
- Row Level Security - Database-level access control
- Secure File Upload - Validated file types and sizes
- Payment Security - Stripe-secured payment processing
- Project Creation - Step-by-step website specification
- Account Setup - Registration or login
- Dashboard Access - Project tracking and asset upload
- Payment Processing - Secure payment with multiple options
- Progress Monitoring - Real-time project updates
- Project Management - Kanban board for project tracking
- Client Communication - Support ticket management
- Asset Review - Access to all client materials
- Payment Processing - Financial management and invoicing
- Storage Management - System optimization tools
- Color Palette: Primary blues, secondary grays, success greens
- Typography: System fonts with clear hierarchy
- Components: Reusable UI components with consistent styling
- Animations: Smooth transitions with Framer Motion
- Responsive: Mobile-first design approach
- Supabase project setup
- Stripe account configuration
- Domain and hosting setup
npm run build- Configure production Supabase URL and keys
- Set up production Stripe keys
- Configure any additional environment-specific variables
- Project completion rates
- Payment processing statistics
- Client engagement metrics
- Storage usage optimization
- System performance monitoring
src/
├── components/ # React components
│ ├── admin/ # Admin dashboard components
│ ├── auth/ # Authentication components
│ ├── common/ # Shared UI components
│ ├── dashboard/ # Client dashboard components
│ └── onboarding/ # Project creation flow
├── hooks/ # Custom React hooks
├── services/ # API and external service integrations
├── types/ # TypeScript type definitions
└── utils/ # Utility functions and helpers
- OnboardingFlow - Multi-step project creation
- ClientDashboard - Main client interface
- AdminDashboard - Administrative interface
- ProjectOverview - Project management with asset uploads
- PaymentHistory - Payment tracking and processing
- Fork the repository
- Create a feature branch
- Make your changes
- Test thoroughly
- Submit a pull request
This project is proprietary software. All rights reserved.
For technical support or questions:
- Create an issue in the repository
- Contact the development team
- Check the documentation in
/docs
Built with ❤️ for professional website creation