https://github.com/d-4-dibakar/zerocode-fe-assignment
https://github.com/d-4-dibakar/zerocode-fe-assignment
Last synced: about 2 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/d-4-dibakar/zerocode-fe-assignment
- Owner: D-4-DIBAKAR
- Created: 2025-06-17T21:36:15.000Z (4 months ago)
- Default Branch: Master
- Last Pushed: 2025-06-17T22:52:06.000Z (4 months ago)
- Last Synced: 2025-06-17T23:33:15.754Z (4 months ago)
- Language: TypeScript
- Size: 63.5 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๐ค Zerocode Chatbot
A responsive, customizable chatbot UI built with **React**, **TypeScript**, **TailwindCSS**, and **Material UI**.
Includes authentication, theme toggling, prompt templates, PDF export, message editing, and more!> โก Built as part of the Zerocode Frontend Assignment
---
## ๐ Live Demo
๐ [View Live Project](https://resilient-daffodil-7ffe44.netlify.app/)
## Demo Credentials:
- Email: `test@demo.com`
- Password: `123456`---
## ๐ผ๏ธ Screenshots
### ๐ฌ Chat Interface



### ๐ Auth Pages
### Login Page

### Register Page

---
## โจ Features
- ๐ **Authentication** (Register & Login pages)
- ๐ **Light/Dark Mode** toggle (persistent)
- ๐ฌ **Chat Interface**
- Send & receive messages (mock bot replies)
- Prompt template shortcuts
- Timestamp on each message
- Persistent chat history (localStorage)
- ๐ **Message Controls**
- Inline **edit** & **delete**
- Scroll-to-bottom on new messages
- ๐ **Export to PDF** (via `jsPDF`)
- ๐งช **Responsive Design** (mobile-friendly)
- ๐ Built with Vite for fast dev and optimized builds---
## ๐ ๏ธ Tech Stack
| Technology | Purpose |
| ---------------- | ------------------------------ |
| React + Vite | Frontend framework & bundler |
| TypeScript | Type safety |
| TailwindCSS | Utility-first styling |
| MUI | UI components (buttons, icons) |
| jsPDF | Export chat as PDF |
| File Saver | Save PDF to local |
| React Router DOM | Page routing |---
## ๐ Project Structure
```
src/
โ
โโโ assets/ # Static assets like logos
โโโ components/ # Reusable UI components
โ โโโ ChatWindow\.tsx
โ โโโ MessageBubble.tsx
โ โโโ MessageInput.tsx
โ โโโ PromptTemplates.tsx
โ โโโ ProtectedRoute.tsx
โ โโโ ThemeToggle.tsx
โ
โโโ context/
โ โโโ ThemeContext.tsx
โ
โโโ pages/ # Route-based pages
โ โโโ Chat.tsx
โ โโโ Login.tsx
โ โโโ Register.tsx
โ
โโโ utils/
โ โโโ auth.ts
โ โโโ prompts.ts
โ
โโโ App.tsx
โโโ index.css
โโโ main.tsx
โโโ vite-env.d.ts```
---
## โ๏ธ Setup Instructions
### ๐ฆ Install Dependencies
```bash
npm install
```### ๐งช Run Dev Server
```bash
npm run dev
```### ๐ ๏ธ Build for Production
```bash
npm run build
```### ๐ Preview Production Build
```bash
npm run preview
```---
## ๐ฆ Dependencies
```json
"dependencies": {
"@emotion/react": "^11.14.0",
"@emotion/styled": "^11.14.0",
"@heroicons/react": "^1.0.6",
"@mui/icons-material": "^7.1.1",
"@mui/material": "^7.1.1",
"file-saver": "^2.0.5",
"jspdf": "^3.0.1",
"react": "^19.1.0",
"react-dom": "^19.1.0",
"react-router-dom": "^7.6.2"
}
``````json
"devDependencies": {
"@eslint/js": "^9.25.0",
"@types/react": "^19.1.2",
"@types/react-dom": "^19.1.2",
"@vitejs/plugin-react": "^4.4.1",
"autoprefixer": "^10.4.21",
"eslint": "^9.25.0",
"eslint-plugin-react-hooks": "^5.2.0",
"eslint-plugin-react-refresh": "^0.4.19",
"globals": "^16.0.0",
"postcss": "^8.5.6",
"tailwindcss": "^3.4.17",
"typescript": "~5.8.3",
"typescript-eslint": "^8.30.1",
"vite": "^6.3.5"
}
```---
## ๐ง Inspiration
This project is part of the Zerocode technical assignment to demonstrate frontend development skills using React + TypeScript + Tailwind + MUI.
---
## ๐ Author
**Dibakar Parida**
๐ง [Connect on LinkedIn](https://www.linkedin.com/in/dibakar-parida/)---
> Feel free to clone, modify, and use for learning or projects. Contributions welcome!