A Next.js web application that helps you decide what to cook by randomly selecting recipes based on ingredients and effort level filters.
- Filter recipes by effort level (1-5 scale)
- Filter by ingredients/tags
- Expandable/collapsible ingredient tag list
- Random recipe selection from filtered results
- Smooth scrolling to selected recipes
- Responsive design with Tailwind CSS
- Next.js 15
- React 19
- TypeScript
- Tailwind CSS
- Heroicons
- Node.js 18+
- npm, yarn, or pnpm
- Clone the repository:
git clone <repository-url>
cd recipe-randomizer
- Install dependencies:
npm install
# or
yarn install
# or
pnpm install
- Run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
- Open http://localhost:3000 with your browser to see the application.
src/
├── app/ # Next.js app router files
├── components/ # React components
├── data/ # Recipe data
├── types/ # TypeScript type definitions
└── styles/ # Global styles
- Edit recipe data in
src/data/recipes.ts
- Modify styles in
src/app/globals.css
and component files - Add new components in
src/components/
npm run build
# or
yarn build
# or
pnpm build
The easiest way to deploy this application is through the Vercel Platform.
- Push your code to a Git repository (GitHub, GitLab, BitBucket)
- Import your repository on Vercel
- Vercel will detect it as a Next.js project and automatically configure the build settings
- Your application will be deployed and you'll receive a production URL
Alternatively, you can deploy to any platform that supports Next.js applications.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.