Premium cinematic, dark-futuristic stack with gold accents.
In frontend.
React 18, Vite, TailwindCSS, Framer Motion, Three.js, React-Three-Fiber, Drei. Enhancements: portfolio category filters + lightbox, parallax & scroll-fade hooks, optional GLTF logo loading, env-based SMTP.
cd frontend
npm install
npm run devServed at http://localhost:5173.
In backend.
POST /api/send-email-> email bridge endpoint (used by Cloudflare)GET /api/portfolioGET /api/testimonialsGET /api/health
cd backend
npm install
npm run devRuns at http://localhost:4000.
Cloudflare Pages Functions run on the Workers runtime and cannot use Nodemailer/SMTP (no raw TCP sockets).
This project sends contact email from the Pages Function /sendEmail via the Resend HTTP API.
components/3d/Logo3D.jsx attempts to load /logo.glb (place file in frontend/public/logo.glb). Fallback: cinematic torus knot with gold PBR + bloom + particle field + camera drift.
Copy backend/.env.example to backend/.env and supply real SMTP values.
Example:
PORT=4000
SMTP_HOST=smtp.mailprovider.com
SMTP_PORT=587
SMTP_SECURE=false
SMTP_USER=your_user
SMTP_PASS=your_pass
MAIL_FROM=noreply@deverax.io
MAIL_TO=team@deverax.io
The Contact page submits to /sendEmail (Cloudflare Pages Function).
Cloudflare env vars:
RESEND_API_KEYMAIL_FROM(must be a verified sender/domain in Resend)MAIL_TO
Compatibility: /api/send-email redirects to /sendEmail.
- Provide actual
logo.glbmodel / HDR environment map for better reflections. - Implement masonry animation & image preloading strategy.
- Add testimonial carousel & map embed integration.
- Security hardening: rate-limit contact endpoint, validation library.
Internal project.