A Single Page Application (SPA) that allows users to search for delicious recipes from around the world. Built strictly with vanilla web technologies (no frameworks) and deployed to Google Cloud Run.
This project interfaces with the public TheMealDB API to fetch and display culinary recipes. The application relies entirely on Vanilla HTML, CSS, and JavaScript, strictly avoiding any external frontend frameworks (like React or Angular) or CSS libraries (like Bootstrap or Tailwind).
State management and view routing (Search
https://recipe-finder-972884409291.us-central1.run.app/ Visit this link to see the example.
- Dynamic Search: Query recipes by name using asynchronous JavaScript (
fetchAPI withasync/await). - Responsive Grid Layout: Search results are displayed in a clean, responsive card grid built with native CSS Grid and Flexbox.
- Detailed Recipe View: View high-resolution meal images, categorized tags, comprehensive ingredient lists with precise measurements, and step-by-step cooking instructions.
- Video Integration: Direct links to YouTube tutorial videos for available recipes.
- Graceful Error Handling: Includes form validation, loading spinners, and empty-state handling for invalid or unfound searches.
- Frontend: HTML5, CSS3, Vanilla JavaScript (ES6+)
- API: TheMealDB REST API
- Cloud Hosting: Google Cloud Run
```text Recipe_Finder/ βββ index.html # Main HTML structure βββ README.md # Project documentation βββ process_log.txt # AI-assisted development log βββ css/ β βββ styles.css # Vanilla CSS styling βββ js/ βββ app.js # Vanilla JS application logic ```
Because this is a pure vanilla web application, no build steps are required.
- Clone or download the repository to your local machine.
- Open the app: Double-click the
index.htmlfile to open it directly in your web browser. - (Optional) For the best development experience, open the project folder in VS Code and use the Live Server extension.
This application is configured for deployment on Google Cloud Run. Ensure you have the Google Cloud CLI (gcloud) installed and authenticated.
- Set your Google Cloud Project: ```bash gcloud config set project YOUR_PROJECT_ID ```
- Deploy to Cloud Run:
Navigate to the project root and run:
```bash
gcloud run deploy recipe-finder
--source .
--platform managed
--region us-central1
--allow-unauthenticated ```
Joonho Son