ppt-tool/frontend
Vadym Samoilenko c431d4ab45 Implement critical security fixes and modern design system (Pre-launch P0 tasks)
Security Improvements (P0.0-P0.4):
- P0.0: Migrate to Gemini-only AI stack (simplified, single billing)
- P0.1: Fix CORS to restrict allowed origins from env (was *)
- P0.2: Remove hardcoded dev password, require env var
- P0.3: Add rate limiting (slowapi) - 3-10 req/min on sensitive endpoints
- P0.4: Add request size limits (100MB default via middleware)

New Features:
- Unified LLM service with Google Gemini priority
- OXML geometry extractor for layout parsing
- TSX validator for generated React components
- Client ID support in presentation requests with access control
- Configurable LLM/image timeouts via env vars

Modern Design System (P0.9 - partial):
- Enhanced CSS design tokens (primary, semantic colors, shadows)
- Typography scale (h1-h4, body variants, caption)
- Modern animations (fadeIn, slideIn, scaleIn)
- Updated Button component with better variants and hover effects
- Created unified Card and StatusBadge components
- Applied design system to Dashboard and Settings pages

Backend Improvements:
- Master deck parser simplification
- Slide-to-HTML endpoint cleanup (325 lines removed)
- Better error handling in prompts endpoint

Frontend Improvements:
- Settings UI simplified to show only Google/Gemini
- Dashboard uses CSS variables instead of hardcoded colors
- Improved button transitions and hover states

Co-Authored-By: Claude Sonnet 4.5 (1M context) <noreply@anthropic.com>
2026-02-27 18:28:24 +00:00
..
app Implement critical security fixes and modern design system (Pre-launch P0 tasks) 2026-02-27 18:28:24 +00:00
components Implement critical security fixes and modern design system (Pre-launch P0 tasks) 2026-02-27 18:28:24 +00:00
cypress Phase 7: Testing Suite — backend unit tests + Cypress E2E framework 2026-02-26 16:49:23 +00:00
i18n Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
lib Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
models Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
public Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
store Phase 4: Fix critical bugs, improve document parsing, add vision OCR 2026-02-27 14:07:00 +00:00
types Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
utils Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
components.json Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
cypress.config.ts Phase 7: Testing Suite — backend unit tests + Cypress E2E framework 2026-02-26 16:49:23 +00:00
Dockerfile Phase 5: Fix export, slide edit, static files; add README 2026-02-27 15:40:36 +00:00
next-env.d.ts Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
next.config.mjs Phase 5: Fix export, slide edit, static files; add README 2026-02-27 15:40:36 +00:00
package-lock.json Rebrand Presenton to Oliver DeckForge, pre-configure models, use NanoBanana Pro 2026-02-26 18:17:11 +00:00
package.json Rebrand Presenton to Oliver DeckForge, pre-configure models, use NanoBanana Pro 2026-02-26 18:17:11 +00:00
postcss.config.mjs Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
README.md Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
tailwind.config.ts Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
tsconfig.json Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00
tsconfig.tsbuildinfo Phase 1-2: Foundation + Admin Panel & Client Management 2026-02-26 15:37:17 +00:00

This is a Next.js project bootstrapped with create-next-app.

Getting Started

First, run the development server:

npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev

Open http://localhost:3000 with your browser to see the result.

You can start editing the page by modifying app/page.tsx. The page auto-updates as you edit the file.

This project uses next/font to automatically optimize and load Geist, a new font family for Vercel.

Learn More

To learn more about Next.js, take a look at the following resources:

You can check out the Next.js GitHub repository - your feedback and contributions are welcome!

Deploy on Vercel

The easiest way to deploy your Next.js app is to use the Vercel Platform from the creators of Next.js.

Check out our Next.js deployment documentation for more details.