A fullstack chat application built with React, TypeScript, Express, and MongoDB. The interface is fully custom and styled using SCSS only — no UI libraries. Users can create chats, send messages, receive automated bot responses, and edit or delete their messages.
- ✅ Create and delete chats
- ✅ View and switch between chats
- ✅ Send messages with bot auto-reply
- ✅ Edit and delete individual messages
- ✅ Keyboard-friendly (e.g. press
Enter
to send) - ✅ Responsive, clean SCSS-based UI
- Frontend: React, TypeScript, SCSS
- Backend: Node.js, Express, TypeScript
- Database: MongoDB + Mongoose
- HTTP Client: Axios
git clone https://github.com/ansofidev/chat-app.git
cd chat-app
cd client
npm install
cd ../server
npm install
cd server
npm run dev
cd client
npm start
Then open: http://localhost:3000
The frontend is deployed on Vercel:
👉 https://chat-app-theta-one-46.vercel.app/
The backend is deployed on Render:
👉 https://chat-app-backend-qwq2.onrender.com
GET /api/chats
– Get all chatsPOST /api/chats
– Create a chatPUT /api/chats/:id
– Update chatDELETE /api/chats/:id
– Delete chat
POST /api/chats/:chatId/messages
– Add a messagePATCH /api/chats/:chatId/messages/:messageId
– Edit a messageDELETE /api/chats/:chatId/messages/:messageId
– Delete a message
- Bot replies use a public quote API
- Messages are embedded in each chat document
- No authentication/login
- No UI libraries — all styled manually