Modern, professional marketing website for IntegrateAPI - a business automation and integration consulting firm.
- Frontend: React 19 + TypeScript + Vite
- Styling: TailwindCSS 4 + Framer Motion
- Routing: Wouter (lightweight SPA router)
- Backend: Express + TypeScript
- Database: PostgreSQL + Drizzle ORM
- UI Components: Radix UI + shadcn/ui
- Node.js 20+ (LTS recommended)
- PostgreSQL 14+ (for backend features)
- npm or pnpm
git clone <repository-url>
cd Marketing-Site-Builder
npm installCopy the example environment file:
cp .env.example .envEdit .env with your values:
DATABASE_URL=postgresql://user:password@localhost:5432/dbname
SESSION_SECRET=your-secret-key-here-change-in-production
NODE_ENV=development
PORT=5000Required Environment Variables:
| Variable | Description | Required |
|---|---|---|
DATABASE_URL |
PostgreSQL connection string | Yes (for backend) |
SESSION_SECRET |
Secret key for session encryption | Yes (for backend) |
NODE_ENV |
Environment (development or production) |
No (defaults to development) |
PORT |
Backend server port | No (defaults to 3000) |
FRONTEND_URL |
Production frontend URL for CORS | No (for production deployment) |
# Push database schema
npm run db:push# Starts both frontend (Vite) and backend (Express)
npm run devThe site will be available at http://localhost:3000
# Type checking
npm run check
# Production build (builds both client and server)
npm run build
# Start production server
npm start.
├── client/ # Frontend React application
│ ├── src/
│ │ ├── components/ # Reusable UI components
│ │ ├── pages/ # Page components
│ │ ├── lib/ # Utilities and helpers
│ │ └── main.tsx # App entry point
│ ├── public/ # Static assets
│ └── index.html # HTML template
├── server/ # Backend Express application
│ ├── index.ts # Server entry point
│ ├── routes.ts # API routes
│ └── storage.ts # Database configuration
├── shared/ # Shared types and schemas
└── dist/ # Production build output
Frontend: Vercel (zero-config for Vite)
Backend: Railway or Render (includes PostgreSQL)
- Push code to GitHub
- Import project in Vercel
- Vercel auto-detects Vite and uses
vite.config.ts - The
vercel.jsonconfig handles SPA routing - No environment variables needed for static frontend
Build Settings (auto-detected):
- Build Command:
npm run build - Output Directory:
dist/public
- Connect your GitHub repository
- Set environment variables:
DATABASE_URL=<provided-by-railway/render> SESSION_SECRET=<generate-random-string> NODE_ENV=production FRONTEND_URL=https://your-vercel-domain.vercel.app - Railway/Render will run
npm run buildthennpm start
Health Check Endpoint: GET /api/health
- ✅ Responsive design (mobile-first)
- ✅ SEO optimized (meta tags, Open Graph, Twitter Cards)
- ✅ Animated UI components (Framer Motion)
- ✅ 404 error page
- ✅ Contact form
- ✅ Interactive demos
- ✅ CORS configured for production
- ✅ Session-based authentication ready
| Command | Description |
|---|---|
npm run dev |
Start development server (frontend + backend) |
npm run build |
Build for production |
npm start |
Start production server |
npm run check |
TypeScript type checking |
npm run db:push |
Push database schema changes |
- Chrome/Edge (latest 2 versions)
- Firefox (latest 2 versions)
- Safari (latest 2 versions)
- Mobile browsers (iOS Safari, Chrome Android)
- Create a feature branch
- Make your changes
- Run
npm run checkto verify types - Test locally with
npm run dev - Create a pull request
MIT
Built with calm precision by IntegrateAPI