# Install dependencies
npm install
# Start development server
npm run dev
# Build for production
npm run build
# Preview production build
npm run preview-
Build the project:
npm run build
-
Upload the
distfolder to Cloudflare Pages
- Connect your GitHub repository to Cloudflare Pages
- Set build configuration:
- Build command:
npm run build - Build output directory:
dist - Root directory:
/(leave empty)
- Build command:
├── client/ # Frontend React application
│ ├── src/
│ │ ├── components/ # React components
│ │ ├── pages/ # Page components
│ │ ├── lib/ # Utilities and API functions
│ │ └── types/ # TypeScript type definitions
│ └── public/ # Static assets
├── shared/ # Shared schemas and types
├── server/ # Development server (not used in production)
├── dist/ # Production build output
└── attached_assets/ # Source assets
The contact form uses mailto: links to open the user's default email client with pre-filled content. This approach:
- Requires no backend infrastructure
- Works with any email provider
- Maintains user privacy
- Is compatible with static hosting
The site fetches live data from GitHub's public API:
- In development: Uses proxy to avoid CORS issues
- In production: Direct API calls to GitHub (no authentication required)
MIT License