A modern, responsive web application specifically optimized for iPhone devices, built with production-ready features, security, and performance in mind.
- iPhone Optimized: Specifically designed for iPhone screens and interactions
- Responsive Layout: Adapts perfectly to all iPhone models and orientations
- Touch Gestures: Natural swipe navigation and touch interactions
- PWA Ready: Progressive Web App with offline capabilities
- Production Ready: Built with enterprise-grade security and performance
- Service Worker: Offline support and background sync capabilities
- Security Headers: Comprehensive security configuration with Helmet.js
- Performance Monitoring: Built-in Core Web Vitals tracking
- Modern Stack: Node.js, Express.js, ES6+, PWA technologies
- CI/CD Pipeline: GitHub Actions with automated testing and deployment
- Docker Support: Containerized deployment with multi-stage builds
- Code Quality: ESLint, Prettier, Jest testing framework
iPhone App/
βββ src/
β βββ public/ # Static files (HTML, CSS, JS, PWA assets)
β β βββ css/ # Stylesheets
β β βββ js/ # Client-side JavaScript
β β βββ icons/ # PWA icons and favicons
β β βββ images/ # Static images
β β βββ manifest.json # PWA manifest
β β βββ sw.js # Service Worker
β β βββ index.html # Main HTML file
β βββ config/ # Configuration files
β βββ middleware/ # Express middleware
β βββ routes/ # API routes
β βββ utils/ # Utility functions
β βββ tests/ # Test files
β βββ server.js # Main server file
βββ .github/workflows/ # CI/CD pipelines
βββ Docker files # Container configuration
βββ Configuration files # ESLint, Prettier, Jest, etc.
- Node.js 16+ and npm 8+
- Docker (optional, for containerized deployment)
-
Clone the repository
git clone https://github.com/tozsolutions/Iphone.git cd Iphone -
Install dependencies
npm install
-
Configure environment
cp .env.example .env # Edit .env with your configuration -
Start development server
npm run dev
-
Open in browser
http://localhost:3000
For best experience, test on actual iPhone devices:
- Network Testing: Connect iPhone to same network as development machine
- Access via IP:
http://[your-local-ip]:3000 - Add to Home Screen: Use Safari's "Add to Home Screen" feature
- PWA Testing: Test offline functionality and app-like behavior
npm test # Run all tests
npm run test:watch # Watch mode for developmentnpm run lint # ESLint checking
npm run lint:fix # Auto-fix linting issues
npm run format # Format code with Prettiernpm run build # Production build checkdocker build -t iphone-app .docker run -p 3000:3000 iphone-appnpm run docker:build
npm run docker:run| Variable | Description | Default |
|---|---|---|
PORT |
Server port | 3000 |
NODE_ENV |
Environment | development |
CORS_ORIGIN |
CORS origin | * |
LOG_LEVEL |
Logging level | info |
See .env.example for complete configuration options.
Edit src/public/manifest.json to customize:
- App name and description
- Theme colors
- Icons and splash screens
- Display mode and orientation
The repository includes a comprehensive CI/CD pipeline:
- Code Quality: ESLint, Prettier, security audits
- Testing: Unit tests, integration tests, coverage reports
- Building: Docker image creation and vulnerability scanning
- Performance: Lighthouse audits and Core Web Vitals
- Deployment: Automated staging and production deployment
- Configure production environment variables
- Set up SSL/HTTPS certificates
- Configure CDN for static assets
- Set up monitoring and logging
- Configure backup and disaster recovery
- Implement rate limiting and DDoS protection
- Set up database (if required)
- Configure caching strategy
- LCP (Largest Contentful Paint): < 2.5s
- FID (First Input Delay): < 100ms
- CLS (Cumulative Layout Shift): < 0.1
- Touch targets minimum 44px
- Optimized for iOS Safari
- Reduced motion support
- Dark mode compatibility
- Retina display optimization
- Helmet.js: Security headers and CSP
- CORS: Configurable cross-origin resource sharing
- Rate Limiting: Built-in request rate limiting
- Input Validation: Request body validation
- Error Handling: Secure error responses
- Content Security Policy (CSP)
- X-Frame-Options: DENY
- X-Content-Type-Options: nosniff
- X-XSS-Protection: 1; mode=block
- 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
- Follow ESLint and Prettier configurations
- Write tests for new features
- Update documentation as needed
- Ensure mobile-first approach
- Test on actual iPhone devices
GET /health
Returns server health status and uptime information.
GET /api/info
Returns application metadata and features.
/: Main application/manifest.json: PWA manifest/sw.js: Service Worker/css/*: Stylesheets/js/*: JavaScript files/icons/*: PWA icons
Service Worker not updating
- Clear browser cache and storage
- Check browser developer tools for SW errors
PWA not installing
- Ensure HTTPS in production
- Verify manifest.json is valid
- Check all required PWA criteria
Performance issues
- Enable compression middleware
- Optimize images and assets
- Check network throttling settings
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
- Built with modern web technologies and best practices
- Optimized for iPhone user experience
- Production-ready with enterprise-grade security
- Community-driven development approach
Made with β€οΈ for iPhone users by tozsolutions
For support and inquiries: Open an issue