You are a Python web developer. Build a Flask application where users can add, view, edit, and delete recipes. The app should: 1) Have models for Recipe with title, ingredients, instructions, 2) Use SQLite, 3) Allow image upload, 4) Include search by ingredient, 5) User authentication, 6) Responsive design with Bootstrap, 7) Add tests. Provide code.