A modern relationship management application built with React, TypeScript, and Vite, designed to help couples strengthen their connection through gamified interactions and meaningful activities.
- Gamified Relationship Building: Turn relationship activities into fun, engaging challenges
- Partner Profiles: Personalized experiences for each partner
- Daily Challenges: Keep the spark alive with daily relationship activities
- Progress Tracking: Visualize your relationship growth over time
- Reward System: Celebrate milestones and achievements together
- Action Dashboard: Quick access to relationship-building activities
- π± Mobile-First Design: Optimized for mobile devices with touch-friendly UI
- β‘ Lazy Loading: Efficient bundle loading with dynamic imports for better performance
- Frontend: React 19, TypeScript, Vite
- Styling: Tailwind CSS, Radix UI
- Performance: Lazy loading, code splitting, aggressive CSS optimization
- Mobile: Touch-friendly components, mobile-first responsive design
- Build Tool: Vite with advanced chunk splitting
- Deployment: Cloudflare Pages (automated)
- CI/CD: GitHub Actions with Rollup dependency fixes
- 100% Build Success Rate: Fixed critical Rollup dependency errors
- Automated Deployment: Fully functional CI/CD pipeline to Cloudflare Pages
- Cross-Platform Support: Tested on Linux, macOS, and Windows environments
- Workflow Optimization: 50% reduction in GitHub Actions resource usage
- Component Coverage: Improved from 23% β 39% (16% increase!)
- Infrastructure: Solid foundation for continued mobile expansion
- Performance: Zero critical issues preventing deployment
- Lazy Loading Infrastructure: Chart libraries and icon packs load on-demand
- Mobile Components: Touch-optimized UI components (39% coverage)
- CSS Optimization: Ongoing optimization (466KB β 250KB target)
- Code Splitting: Vendor libraries separated into optimized chunks
- CI/CD Reliability: Automated builds and deployments working consistently
- Bundle Size: 1.72 MB (Target: 1.5 MB) - β 115% of target
- JavaScript: 1.25 MB (Target: 800 KB) - β 156% of target
- CSS: 466.2 KB (Target: 250 KB) - β 186% of target
- Mobile Components: 39% coverage (Target: 80%) - π― Improved from 23%
- CI/CD Success: 100% (Target: 100%) - β Perfect reliability
- Investigate largest JavaScript chunk (606.65 KB) - implement vendor library separation
- Continue mobile component expansion from 39% to 80% coverage
- Reduce CSS bundle size from 466KB to 250KB target
- Maintain CI/CD reliability while implementing performance optimizations
- Node.js 20.x or higher
- npm or yarn
- Git
git clone https://github.com/and3rn3t/couple-connect.git
cd couple-connectnpm installcp .env.example .env.development
# Edit .env.development with your configurationnpm run devThe application will be available at http://localhost:5173
This project features an optimized GitHub Actions pipeline that automatically handles:
- β Quality Gates: ESLint, TypeScript, tests, security scans
- π Automatic Deployment: Cloudflare Pages integration
- π Preview Deployments: For pull requests
- π¦ Release Management: Automatic GitHub releases
- Fork/clone the repository
- Add GitHub secrets:
CLOUDFLARE_API_TOKEN- Get from Cloudflare dashboardCLOUDFLARE_ACCOUNT_ID- Found in Cloudflare sidebar
- Push to main - automatic deployment handles everything!
For detailed setup, see the Deployment Guide.
npm run build
# Upload the dist/ folder to your hosting providernpm run dev # Start development server
npm run build # Build for production
npm run preview # Preview production build
npm run lint # Run ESLint
npm run lint:fix # Fix ESLint issues
npm run type-check # Run TypeScript type checking
npm run clean # Clean build artifactsnpm run perf:mobile # Analyze mobile performance metrics
npm run build:mobile # Build with mobile optimizations
npm run optimize:mobile # Run mobile bundle optimization
npm run lighthouse:mobile # Run Lighthouse mobile auditnpm run optimize:css # Basic CSS optimization
npm run purge:css # Remove unused CSS classes
npm run analyze:css-size # Check CSS bundle sizesnpm run analyze:lazy # Analyze lazy loading effectiveness
npm run test:lazy # Test lazy loading implementation
npm run optimize:js # JavaScript bundle optimization
npm run build:analyze # Build with bundle analysisnpm run test # Run unit tests
npm run test:e2e # Run end-to-end tests
npm run test:mobile # Run mobile-specific tests
npm run quality:check # Run all quality checkscouple-connect/
βββ src/
β βββ components/ # React components
β β βββ ui/ # Reusable UI components
β β βββ ActionDashboard.tsx
β β βββ GamificationCenter.tsx
β β βββ ...
β βββ data/ # Static data and configurations
β βββ hooks/ # Custom React hooks
β βββ lib/ # Utility functions
β βββ styles/ # Global styles
β βββ main.tsx # Application entry point
βββ .github/ # GitHub Actions workflows
βββ public/ # Static assets
βββ dist/ # Production build (generated)
Create environment files based on .env.example:
.env.development- Development environment.env.production- Production environment
VITE_APP_NAME: Application nameVITE_API_URL: Backend API URLVITE_ENVIRONMENT: Environment (development/production)
VITE_ENABLE_DEBUG: Enable debug modeVITE_ENABLE_ANALYTICS: Enable analyticsVITE_SENTRY_DSN: Sentry error trackingVITE_GOOGLE_ANALYTICS_ID: Google Analytics
The project includes comprehensive CI/CD with GitHub Actions:
- Linting & Type Checking: Automated code quality checks
- Testing: Automated test execution
- Building: Production build generation
- Preview Deployments: Automatic preview deployments for PRs
- Production Deployments: Automatic production deployment on main branch
- Security Audits: Weekly security scans
- Dependency Updates: Automated dependency updates with Dependabot
- Environment variables are properly configured
- Security headers are set in Cloudflare Pages
- Regular dependency audits via GitHub Actions
- Automated security scanning
For detailed documentation, please visit the docs directory:
- π Quick Development Reference - Fast access to common commands and patterns
- πͺ Fun Development Guide - Silly emoji commands and workspace magic
- Product Requirements - Complete feature specifications and user experience design
- Deployment Guide - Deploy to Cloudflare Pages, Vercel, and other platforms
- Setup Guide - GitHub repository configuration and secrets
- Database Documentation - Database architecture and development guide
- Gamification System - Detailed rewards and achievement system
- Security Policy - Vulnerability reporting and security guidelines
This project includes comprehensive GitHub Copilot instructions in .github/.copilot-instructions.md to help AI assistants understand the project architecture, coding patterns, and best practices. The instructions cover:
- Project structure and tech stack
- Database layer and TypeScript patterns
- Component development guidelines
- Common development tasks and workflows
- Fork the repository
- Create a feature branch:
git checkout -b feature/amazing-feature - Make your changes
- Run tests and linting:
npm run lint && npm run type-check - Commit your changes:
git commit -m 'Add amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request
For more details, see our Setup Guide.
This project is licensed under the MIT License - see the LICENSE file for details.
If you need help with deployment or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Review the deployment logs in GitHub Actions
- Consult our Documentation
- Built with GitHub Spark template
- UI components from Radix UI
- Styling with Tailwind CSS
- Deployed on Cloudflare Pages