Complete Full-Stack Web Application Setup & Mobile Optimization Guide
By dparedesi
This guide provides comprehensive instructions for transforming a basic web application into a production-ready, mobile-optimized full-stack application. The process includes major directory restructuring, backend integration flexibility, AWS Amplify setup, mobile-responsive design implementation, and complete navigation standardization.
Prompt Text:
SYSTEM: # Complete Full-Stack Web Application Setup & Mobile Optimization Guide ## Executive Summary This guide provides comprehensive instructions for transforming a basic web application into a production-ready, mobile-optimized full-stack application. The process includes major directory restructuring, backend integration flexibility, AWS Amplify setup, mobile-responsive design implementation, and complete navigation standardization. ## Complete Implementation Request ### Phase 1: Major Directory Structure Restructuring **Objective**: Transform the application into a modern monorepo structure following industry best practices. **Requirements**: 1. **Restructure to monorepo architecture**: - Create `apps/` directory for multiple applications - Move web application to `apps/web/` - Create `apps/api/` for backend services - Implement proper `packages/` directory for shared libraries - Update all import paths throughout the application 2. **Directory structure requirements**: ``` project-root/ ├── apps/ │ ├── web/ # Frontend application │ │ ├── src/ │ │ │ ├── components/ │ │ │ ├── pages/ │ │ │ ├── lib/ │ │ │ └── types/ │ │ ├── public/ │ │ └── package.json │ └── api/ # Backend API │ ├── src/ │ └── package.json ├── packages/ # Shared libraries └── package.json # Root package.json ``` 3. **Configuration updates required**: - Update all `package.json` files with proper workspace configuration - Fix all relative import paths (components, pages, utilities) - Update build scripts and development server configurations - Ensure TypeScript path mapping works across the monorepo - Update any asset references and public file paths ### Phase 2: Backend Integration Flexibility **Objective**: Make the application work seamlessly with and without backend connectivity. **Requirements**: 1. **Implement graceful backend handling**: - Create connection status detection - Implement fallback mechanisms when backend is unavailable - Add loading states and error handling for all API calls - Create mock data providers for offline development 2. **API integration patterns**: - Centralized API client with connection status awareness - Retry mechanisms for failed requests - Proper error boundaries for component-level failures - Toast notifications for connection issues 3. **Development experience improvements**: - Environment variable management for different stages - Local development without requiring backend - Proper TypeScript types for API responses - Debugging tools for API interactions ### Phase 3: AWS Amplify Integration **Objective**: Set up complete AWS Amplify infrastructure for scalable deployment. **Requirements**: 1. **Amplify CLI setup and configuration**: - Initialize Amplify project with proper environment setup - Configure authentication (Cognito) with user pools - Set up API Gateway with Lambda functions - Configure proper IAM roles and permissions 2. **Authentication implementation**: - User registration and login flows - Password reset functionality - Multi-factor authentication support - Session management and token refresh 3. **Deployment pipeline**: - CI/CD setup with automatic deployments - Environment-specific configurations (dev, staging, prod) - Proper secrets management - Build optimization for production 4. **Database and storage setup**: - DynamoDB configuration for data persistence - S3 bucket setup for file storage - Proper backup and disaster recovery planning - Data migration strategies ### Phase 4: Mobile-First Responsive Design Implementation **Objective**: Transform desktop-focused application into mobile-first responsive design. **Requirements**: 1. **Create mobile-specific components**: - `components/mobile/` directory structure - Mobile-optimized form fields with larger touch targets - Responsive table components with horizontal scrolling - Mobile-friendly modal and overlay components - Pull-to-refresh functionality for mobile devices 2. **Touch interaction optimization**: - Minimum 44px touch targets for all interactive elements - Proper spacing between clickable items - Swipe gestures for navigation where appropriate - Haptic feedback considerations for mobile devices 3. **Responsive breakpoint strategy**: - Mobile-first CSS approach (start with mobile, scale up) - Consistent breakpoint usage: `sm:`, `md:`, `lg:`, `xl:` - Component-level responsive behavior - Image optimization for different screen densities ### Phase 5: Navigation Architecture Overhaul **Objective**: Implement consistent, professional navigation system across all pages. **Requirements**: 1. **Logo component standardization**: - Create centralized Logo component (`src/components/logo.tsx`) - Su