link www.daylapp.com
A comprehensive travel planning platform built with React, TypeScript, Tailwind CSS, and Supabase.
- Real-time Collaboration: Live editing, presence indicators, and instant notifications
- Multi-language Support: English, Spanish, French, German with instant switching
- Dark/Light Mode: Complete theme system with auto-detection
- Responsive Design: Mobile-first approach with seamless desktop experience
- Interactive Planning Board: Drag-and-drop sticky notes with real-time collaboration
- Smart Scheduling: Visual calendar with event management
- Media Integration: Image uploads, voice notes, and link attachments
- Collaborative Editing: Live presence indicators and conflict resolution
- Comprehensive Expense Tracking: Split bills, receipt uploads, and category management
- Integrated Payment System: Secure payment processing with multiple methods
- Real-time Settlement: Instant payment status updates and notifications
- Advanced Filtering: Filter by category, person, and payment status
- Carbon Footprint Calculator: Track transport, accommodation, and activity emissions
- Transport Comparison: Compare different travel options and their environmental impact
- Offset Marketplace: Purchase verified carbon offsets from curated projects
- Sustainability Goals: Set and track environmental targets
- Intelligent Packing Lists: AI-powered suggestions based on destination and activities
- Collaborative Packing: Assign items to different travelers
- Weight & Volume Tracking: Monitor luggage constraints
- Category Organization: Organize by clothing, electronics, documents, etc.
- Real-time Chat: Group and direct messaging with file sharing
- Trip Notifications: Stay updated on all trip changes
- Community Forum: Share experiences and get travel advice
- Live Presence: See who's online and what they're working on
- Personalized Onboarding: Tailored experience based on travel preferences
- Profile Management: Complete profile system with image uploads
- Advanced Settings: Granular control over notifications and privacy
- Accessibility: WCAG compliant with keyboard navigation and screen reader support
- React 18 with TypeScript
- Tailwind CSS for styling
- Lucide React for icons
- React Router for navigation
- Date-fns for date manipulation
- Vite for build tooling
- PostgreSQL database with Row Level Security
- Real-time subscriptions for live collaboration
- Edge Functions for serverless API endpoints
- Authentication with JWT tokens
- File Storage for images and documents
- Real-time Collaboration: WebSocket connections for instant updates
- Secure Payments: Integrated payment processing with multiple providers
- File Uploads: Secure image and document storage
- Push Notifications: Real-time alerts and updates
- Offline Support: Progressive Web App capabilities
user_profiles- Extended user information and preferencestrips- Trip information with collaboration featurestrip_collaborators- User roles and permissionssticky_notes- Planning board notes with real-time editinguser_presence- Live collaboration tracking
trip_budgets- Budget configuration and settingsexpenses- Expense tracking with splitsexpense_splits- Individual payment responsibilitiespayments- Payment processing and historysettlements- Debt resolution between users
trip_sustainability- Carbon footprint trackingtransport_options- Travel option comparisonsoffset_projects- Available carbon offset projectsoffset_contributions- User offset purchases
chats- Chat room configurationchat_messages- Message historyforum_posts- Community discussionstrip_notifications- System notifications
- Node.js 18+ and npm
- Supabase account and project
-
Clone the repository
git clone <repository-url> cd dayla-trip-planner
-
Install dependencies
npm install
-
Set up Supabase
- Create a new Supabase project
- Run the migration file to set up the database schema
- Configure authentication settings
- Set up storage buckets for file uploads
-
Environment Configuration
cp .env.example .env
Update
.envwith your Supabase credentials:VITE_SUPABASE_URL=your_supabase_project_url VITE_SUPABASE_ANON_KEY=your_supabase_anon_key -
Run the development server
npm run dev
-
Database Migration
- Copy the SQL from
supabase/migrations/create_complete_schema.sql - Run it in your Supabase SQL editor
- Copy the SQL from
-
Edge Functions Deploy the edge functions for enhanced functionality:
# Install Supabase CLI npm install -g @supabase/cli # Deploy functions supabase functions deploy trip-collaboration supabase functions deploy payment-processing supabase functions deploy sustainability-tracking supabase functions deploy chat-management
-
Storage Buckets Create the following storage buckets:
avatars- User profile imagestrip-media- Trip-related filesreceipts- Expense receipts
-
Authentication
- Enable email/password authentication
- Configure email templates
- Set up redirect URLs
VITE_SUPABASE_URL- Your Supabase project URLVITE_SUPABASE_ANON_KEY- Your Supabase anonymous key
The platform includes several configurable features:
- Real-time collaboration
- Payment processing
- Sustainability tracking
- Community features
Dayla is built as a PWA with:
- Offline functionality for viewing trips
- Push notifications for real-time updates
- App-like experience on mobile devices
- Fast loading with service worker caching
- Row Level Security (RLS) on all database tables
- JWT-based authentication
- Encrypted file storage
- HTTPS-only communication
- Granular privacy controls
- Data export capabilities
- Account deletion with data cleanup
- GDPR compliance features
- English (default)
- Spanish
- French
- German
- Add translations to
src/contexts/AuthContext.tsx - Update the language selector in settings
- Test all UI components with new language
- System preference detection
- Manual theme switching
- Persistent theme selection
- Smooth transitions between themes
- CSS custom properties for easy theming
- Tailwind CSS configuration
- Component-level style overrides
- Real-time performance metrics
- Error tracking and reporting
- User engagement analytics
- Database query optimization
- Trip creation and completion rates
- User collaboration patterns
- Payment processing success rates
- Sustainability goal achievements
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Submit a pull request
- TypeScript for type safety
- ESLint for code quality
- Prettier for code formatting
- Conventional commits for git history
This project is licensed under the MIT License - see the LICENSE file for details.
- API documentation in
/docs - Component storybook for UI components
- Database schema documentation
- GitHub Discussions for questions
- Discord server for real-time help
- Regular community calls
- Priority support available
- Custom feature development
- On-premise deployment options
- Training and onboarding assistance
Built with β€οΈ by the Dayla team. Happy travels!