feat: Add backend middleware for secure API calls#2
Conversation
This commit introduces a backend Express server to proxy requests to the Gemini API, ensuring the API key is not exposed on the client side. - A new `server.ts` file is created, containing an Express server with three endpoints: `/api/generate`, `/api/edit`, and `/api/segment`. - The server reads the `GEMINI_API_KEY` from the environment variables, keeping it secure. - The `vite.config.ts` file is updated to proxy API requests from the frontend to this new backend server during development. - New scripts (`dev`, `dev:frontend`, `dev:backend`) are added to `package.json` to run both the frontend and backend servers concurrently using `concurrently`. - The `express`, `@google/genai`, `@types/express`, `concurrently`, and `ts-node` packages were added as dependencies.
|
👋 Jules, reporting for duty! I'm here to lend a hand with this pull request. When you start a review, I'll add a 👀 emoji to each comment to let you know I've read it. I'll focus on feedback directed at me and will do my best to stay out of conversations between you and other bots or reviewers to keep the noise down. I'll push a commit with your requested changes shortly after. Please note there might be a delay between these steps, but rest assured I'm on the job! For more direct control, you can switch me to Reactive Mode. When this mode is on, I will only act on comments where you specifically mention me with For security, I will only act on instructions from the user who triggered this task. |
This pull request adds a secure backend middleware to handle all communication with the Google Gemini API. Previously, the API key was at risk of being exposed on the client side. With this change, the frontend now sends requests to a local Express server, which then securely makes the API calls using an environment variable (
GEMINI_API_KEY). The Vite development server has been configured to proxy these requests, and new scripts have been added to run both the frontend and backend concurrently for a seamless development experience.PR created automatically by Jules for task 10698929617295281770