A modern recipe website built with Flask and the Spoonacular API. Search for recipes, view detailed instructions, and discover new dishes.
- Recipe search functionality
- Detailed recipe pages with ingredients and instructions
- Responsive design
- Modern UI with animations
- Integration with Spoonacular API
- Backend: Flask, Python
- Frontend: HTML, CSS, JavaScript
- Database: SQLite (development), PostgreSQL (production)
- API: Spoonacular Food API
- Deployment: Gunicorn, WhiteNoise
- Clone the repository:
git clone <repository-url>
cd flavornest- Create and activate a virtual environment:
python -m venv venv
source venv/bin/activate # On Windows: venv\Scripts\activate- Install dependencies:
pip install -r requirements.txt- Create a
.envfile with your environment variables:
SPOONACULAR_API_KEY=your_api_key_here
SECRET_KEY=your_secret_key_here
DATABASE_URL=sqlite:///flavornest.db
- Run the development server:
python app.pyThe application will be available at http://localhost:5000
- Create a new Web Service on Render
- Connect your GitHub repository
- Set the following:
- Build Command:
pip install -r requirements.txt - Start Command:
gunicorn app:app
- Build Command:
- Add environment variables:
SPOONACULAR_API_KEYSECRET_KEYDATABASE_URL(Render will provide this)
- Create a new project on Railway
- Connect your GitHub repository
- Add environment variables:
SPOONACULAR_API_KEYSECRET_KEYDATABASE_URL(Railway will provide this)
- Railway will automatically detect the Python app and deploy it
- Install the Fly CLI
- Login to Fly:
fly auth login- Launch the app:
fly launch- Set secrets:
fly secrets set SPOONACULAR_API_KEY=your_api_key_here
fly secrets set SECRET_KEY=your_secret_key_here- Deploy:
fly deploySPOONACULAR_API_KEY: Your Spoonacular API keySECRET_KEY: Flask secret key for session securityDATABASE_URL: Database connection URLPORT: Port number (default: 5000)
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.