An advanced AI-powered chat application built with Next.js and Supabase
Features · Prerequisites · Getting Started · Environment Variables · Deployment
- AI-powered chat interface for research assistance
- Real-time conversation with AI using Langflow
- Chat history management with Supabase
- User authentication with Supabase
- Responsive design with Tailwind CSS
- Smooth animations with Framer Motion
- Node.js (v14 or newer)
- npm or Yarn
- A Supabase account
- A Langflow account or self-hosted instance
- Alternatively, a free account on Astra to create a Langflow and obtain the API URL and key
-
Clone the repository:
git clone https://github.com/misbahsy/AI-Agent-App-Langflow.git cd your-project-name
-
Install dependencies:
npm install # or yarn install
-
Set up your Supabase project:
- Create a new project in the Supabase dashboard
- Note your project's URL and anon key (you'll need these for environment variables)
-
Set up Langflow:
- Option 1: Use a Langflow account or self-hosted instance
- Option 2: Create a free account on Astra, create a Langflow, and obtain the API URL and key
-
Set up your environment variables (see Environment Variables section)
-
Run the development server:
npm run dev # or yarn dev
-
Open http://localhost:3000 in your browser to see the application.
Create a .env.local
file in the root of your project and add the following variables:
NEXT_PUBLIC_SUPABASE_URL=your_supabase_project_url
NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
LANGFLOW_API_URL=your_langflow_api_url
LANGFLOW_API_KEY=your_langflow_api_key
You can deploy this app to various platforms. Here are instructions for Vercel:
- Push your code to a GitHub repository.
- Go to Vercel and sign up or log in.
- Click on "Import Project" and select your GitHub repository.
- Configure your environment variables in the Vercel dashboard.
- Click "Deploy" and wait for the build to complete.
Remember to set up your environment variables in your deployment platform's settings.
If you encounter any issues or have feedback, please file an issue in the GitHub repository.