A modern recipe website built with Flask and deployed on Vercel. Features a beautiful UI and comprehensive recipe collection.
- 🍳 Beautiful, responsive design
- 📱 Mobile-friendly interface
- 🔐 Admin authentication system
- 🍝 Curated recipe collection
- 🔒 Secure API endpoints
- 📊 Server configuration management
- Install dependencies:
pip install -r requirements.txt- Set environment variables:
export SERVER_SEED="your-secret-server-seed"
export SECRET_RECIPE_CONTENT="Your super secret recipe content here"
export ENCRYPTION_KEY="your-encryption-key-here"- Run the application:
python app.pyBefore deploying, you need to generate RSA keys for JWT authentication:
openssl genrsa -out private_key.pem 2048openssl rsa -in private_key.pem -pubout -out public_key.pem# Get private key content
cat private_key.pem
# Get public key content
cat public_key.pemReplace the placeholder keys in app.py with the generated keys.
- Install Vercel CLI:
npm i -g vercel- Set environment variables in Vercel:
vercel env add SERVER_SEED
vercel env add SECRET_RECIPE_CONTENT
vercel env add ENCRYPTION_KEY- Deploy:
vercel --prodSERVER_SEED: Secret seed used for recipe ID generationSECRET_RECIPE_CONTENT: Content of the protected secret recipeENCRYPTION_KEY: Key used for encrypting sensitive data
GET /- Home pageGET /recipes- Recipe listing pageGET /login- Admin login pagePOST /login- Admin authenticationGET /api/recipes/{id}- Get recipe by IDGET /api/config- Get server configuration (requires admin auth)POST /api/encrypt- Encrypt text using custom algorithm
- JWT-based authentication
- RSA public/private key cryptography
- Custom encryption for sensitive data
- Admin role-based access control
This application was built with security best practices in mind. All sensitive data is properly encrypted and access is controlled through secure authentication mechanisms.
Built with ❤️ by the Chef's Corner development team