The Smart Recipe Generator app is designed to help users create AI-generated recipes based on selected ingredients and dietary preferences. The app uses a Node.js-based stack with MongoDB for data storage and Next.js for the frontend. It incorporates user authentication, recipe generation, and a user-friendly interface for managing recipes.
- Tech Stack: Set up a MERN stack, including MongoDB, Express, React, and Node.js, with TypeScript.
- next-auth: Implemented user authentication using
next-auth
with Google as the OAuth provider.
- OpenAI API: Integrated the OpenAI API to generate recipes based on user-selected ingredients and dietary preferences.
- Image Generation: Added functionality to generate recipe images using DALL-E from OpenAI.
- Components: Developed key UI components including Hero, Dashboard, Profile, and RecipeDisplayModal.
- Responsiveness: Ensured the app is responsive and user-friendly across various devices, including mobile.
- Profile Component: Implemented a profile page to display all recipes created by the user and in the future, other user-specific data.
- Thumbs-Up Button: Added a thumbs-up button for users to like recipes.
- Toggle Like Function: Implemented the backend logic to handle recipe likes, allowing users to like or unlike recipes.
- MongoDB Connection: Set up a connection to MongoDB and ensured efficient data retrieval and storage.
- Recipe Storage: Stored and managed recipes in MongoDB, including user likes and comments.
- Search Bar: Implemented a search bar to filter recipes.
- Recipe Filtering: Developed logic to filter and display recipes based on search input.
- Session Management: Ensured proper session management and authentication checks throughout the app.
- Error Handling: Implemented robust error handling for API requests and user interactions.
- UI Refinements: Made various UI improvements based on feedback, including sticky headers and modal adjustments.
- Styling: Applied consistent styling using Tailwind CSS for a cohesive look and feel.
- Functionality: The app is fully functional with user authentication, recipe generation, recipe display, and liking functionality.
- Profile Page: A profile page is in place to show user-specific recipes.
- Search: A simplified search bar is available for filtering recipes.
- Deployment: Ready for the first deployment.
- Testing: Conduct thorough testing to ensure all features work as expected.
- Deployment: Deploy the app to a live environment.
- Feedback: Gather user feedback for further improvements.
- Future Enhancements: Plan for additional features like user comments, recipe sharing, and more.