In this project, we will build a full stack app that works similar to ChatGPT and answers prompts and keeps the context throughout the conversation. We will use Vue.js with Pinia for state management, Node and Express on the backend with TypeScript. Stream for the chat featrues and a Neon PostgreSQL database to store users and chat logs.
Stream Chat:
Neon Database:
https://fyi.neon.tech/1traversy
Code (Node/Express Backend):
https://github.com/bradtraversy/chat-ai-api
Code (Vue.js Frontend):
https://github.com/bradtraversy/chat-ai-ui
Timestamps:
- Intro
- Documentation URLs
- Backend Init & Install Dependencies
- Backend TypeScript Config
- Express Server Setup
- /register-user Endpoint Setup
- Initialize Stream With API Keys
- Register User With Stream Chat
- /chat Endpoint & Open AI Init
- Neon PostgreSQL Database Setup
- Database Config & Neon Adapter
- Drizzle Schema
- Drizzle Config
- Database Migration
- Save Users In Neon PostgreSQL
- Save Chats In Neon PostgreSQL
- Get User Chat History
- Frontend Init & Install Dependencies
- TailwindCSS Setup & Clean Up
- Router & Page Setup
- Home Form Display
- Reactive Variables & Input Bind
- Pinia Initialization
- Pinia User Store
- Hook Up Home Form
- Header & Leave Chat/Logout
- Pinia Chat Store
- Load Chat History Function/Request
- Load Chat Into UI
- Send Message Function/Request
- Send Message Form
- Get Context Of Chat
- Format Output Text
- Backend API Deploy To Render
- Frontend Deploy To Vercel
1:00:21
12:08
52:41
3:23:11