Cook50 is an AI-powered recipe generator that helps you create meals based on the ingredients you have on hand. By using the Gemini AI API, the application suggests recipes tailored to your available ingredients.
- Frontend: Next.js with JavaScript
- Styling: Tailwind CSS
- Backend: ASP.NET with C#
- AI Technologies:
- Gemini API (Recipe Generator)
- Ingredient Based Recipe Generation: Generating Recipes based on the inputted ingredients
- PDF Download: Downloads recipes in a PDF formate
- Enter the ingredients available
- Save recipes as PDF files for offline use
- Node.js
- .NET 9.0
- API key for Google's Gemini AI
-
Install frontend dependencies
cd cook50-frontend npm install -
Install backend dependencies
cd cook50-backend/cook50-backend dotnet restore
Create dotnet user secrets, in it paste
{
"Gemini": {
"ApiKey": "api-key"
}
}
-
Start the backend server
cd cook50-backend dotnet run -
Start the frontend development server
cd cook50-frontend npm run dev
cook50/
├── cook50-frontend/ # Next.js frontend application
│ ├── src/ # Next.js app directory
│ ├── components/ # Reusable React components
│ └── public/ # Static assets
├── cook50-backend/ cook50-backend # .NET backend API
│ ├── Controllers/ # API controllers
│ ├── Services/ # Business logic
│ └── Program.cs # Entry point
└── README.md
POST /api/recipe/get-recipes- Generate recipes based on provided ingredients- Request body:
{ "ingredients": ["tomato", "basil", "mozzarella"] } - Response:
{ "recipes": [{ "title": "[Title of the recipe]", "ingredients": [...], "instructions": [...] }] }
- Request body:
Important
When deploying the backend through Azure, due to global AI restrictions, I am unable to get the Gemini API working with a free tier plan. But the application should be working as intended in the local enviorement
The Next.js application has been deployed to Vercel with: https://cook50-lac.vercel.app/
The .NET backend has been deployed to Azure with: cook50-f8ffgqbgaadqcfc3.canadacentral-01.azurewebsites.net
- CS50