Nomnom is a web app that helps you to decide what recipes to cook, based on the following problems and solutions:
Problem | Solution |
---|---|
Unsure what to cook based on ingredients | Search recipes by ingredients |
Having to recall past cooked recipes | Create your own recipes, view others' recipes and save them for future reference |
Explore new recipes | Chatbot to explore new recipes |
Search by ingredients and recipe name
Recommends similar recipes based on the recipe ingredients
Chat with data from recipes
Customise your own recipe with a markdown editor that support embedding images and videos, to share with the community and save for your future reference
Follow users to see their recipes
Favourite recipes to view later
- Next.js - React framework
- Tailwind CSS - Utility-first CSS framework
- NextUI - UI library
- Blocknote - Markdown editor
- Neo4j Graphql - Automatic generation of Queries and Mutations for CRUD interactions to Neo4j
- Neo4j - Graph database and support for vector embeddings for RAG (chatbot)
- AWS Amplify - Library to provision, connect and use the AWS services
- AWS Cognito - Manage user credentials, authentication and authorization
- AWS Cognito Lambda Trigger - Post confirmation hook to create a user in Neo4j
- AWS S3 - Storage for media content e.g. images and videos
- Langchain - Framework for building applications with LLMs for the chat feature
- OpenAI - GPT 4-o for generating answers to questions and embedding model to generate vector embeddings from recipe text contents
- Langsmith - Platform to monitor LLM runs
First, run the development server:
npm run dev
# or
yarn dev
# or
pnpm dev
# or
bun dev
Update the .env
file with values from the .env.sample
file.
Install dependencies
bun install
Start the development server
bun dev
Use a personal cloud sandbox environment that provides an isolated development space to rapidly build, test, and iterate on a fullstack app. Each developer on your team can use their own disposable sandbox environment connected to cloud resources.
Deploy to cloud sandbox
npx ampx sandbox
Setting cloud sandbox secret
npx ampx sandbox secret set <secret-name>
Secrets to set
npx ampx sandbox secret set GOOGLE_CLIENT_ID
npx ampx sandbox secret set GOOGLE_CLIENT_SECRET
npx ampx sandbox secret set NEO4J_URI
npx ampx sandbox secret set NEO4J_USER
npx ampx sandbox secret set NEO4J_PASSWORD