Skip to content

varunlaul24/foodieImpressions

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

32 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Foodie Impressions

Reviews Summariser for CookinGenie.

Project overview

Foodie Impressions is a full‑stack application that demonstrates an Angular frontend and a Node/Express backend used to collect chef reviews and produce short AI-generated summaries. The server proxies requests to an external Foundry/OpenAI-style API to generate summaries.

Key parts:

Features

  • Browse chefs and read/save reviews.
  • Add new reviews (stored in localStorage).
  • Automatic summary generation using the backend AI proxy.
  • Static build served by the Node server for production.

Prerequisites

  • Node.js (recommended 18+)
  • npm
  • Angular CLI (for development): npm i -g @angular/cli

Environment variables

The server expects the following environment variables (see server/index.js):

  • FOUNDRY_BASE — base URL for Foundry/OpenAI proxy target
  • FOUNDRY_API_KEY — API key for the Foundry/OpenAI service

Set these in a .env file in the server/ folder or provide them in your production environment. The GitHub Actions workflow uses Azure secrets for deployment credentials.

Development

  1. Install dependencies

    • Client: cd client && npm ci
    • Server: cd server && npm ci
  2. Run client (dev)

  3. Run server (dev)

    • cd server
    • node index.js
    • Server serves static files from the built client (see public path in server/index.js) and exposes API endpoints such as POST /api/ai/responses.
  4. To use the full app locally:

    • Build the client so assets are available to the server:
      • cd client && npm run build
      • This writes build artifacts into the server/public folder per client/angular.json.
    • Start the server:
      • cd server && node index.js
    • Navigate to http://localhost:3000 (or the port configured in server).

Build & Production

API (server proxy)

  • POST /api/ai/responses
    • Forwards structured requests to the Foundry/OpenAI responses endpoint. See server/index.js for request structure and proxy behavior.
    • Example (curl): curl -X POST http://localhost:3000/api/ai/responses -H "Content-Type: application/json" -d '{"input":[{"role":"user","content":"..."}],"model":"gpt-5-mini"}'

Helpful files to inspect

Contributing

  • Open issues and PRs.
  • Keep changes small and focused; update README and any environment or deployment docs if you modify server behavior or build outputs.