Skip to content

dangminhtai/do_an_cntt

Repository files navigation

Chatbot với xác thực người dùng

Một ứng dụng chatbot sử dụng Node.js, Express, MongoDB và JWT để xác thực người dùng, với giao diện người dùng hiện đại và dễ sử dụng.

Tính năng chính

  • Đăng ký và đăng nhập người dùng
  • Xác thực JWT cho các yêu cầu API
  • Lưu trữ lịch sử trò chuyện
  • Giao diện người dùng thân thiện
  • Tích hợp với Google Gemini API (tuỳ chọn)

Yêu cầu hệ thống

  • Node.js 16.x trở lên
  • MongoDB 4.4 trở lên
  • npm hoặc yarn

Cài đặt

  1. Sao chép repository:

    git clone [repository-url]
    cd chat-bot-cntt
  2. Cài đặt các gói phụ thuộc:

    npm install
  3. Tạo file .env từ file mẫu:

    cp .env.example .env
  4. Chỉnh sửa file .env với cấu hình của bạn:

    PORT=9999
    NODE_ENV=development
    JWT_SECRET=your_jwt_secret_key_here
    MONGODB_URI=mongodb://localhost:27017/chatbot
    GEMINI_API_KEY=your_gemini_api_key_here
    
  5. Khởi động server:

    npm start
  6. Mở trình duyệt và truy cập:

    http://localhost:9999
    

Cấu trúc thư mục

.
├── config/                # Cấu hình ứng dụng
├── controllers/           # Xử lý logic
├── llm-api/               # Tích hợp với các API AI
├── middleware/            # Middleware xác thực
├── models/                # Schema và models MongoDB
├── public/                # File tĩnh và giao diện người dùng
├── routes/                # Định tuyến API
├── .env.example           # Mẫu file cấu hình
├── package.json
└── server.js              # File khởi tạo ứng dụng

API Endpoints

Xác thực

  • POST /api/auth/register - Đăng ký người dùng mới
  • POST /api/auth/login - Đăng nhập
  • GET /api/auth/me - Lấy thông tin người dùng hiện tại

Trò chuyện

  • GET /api/chat/history - Lấy lịch sử trò chuyện
  • POST /api/chat - Gửi tin nhắn mới
  • DELETE /api/chat/history - Xóa lịch sử trò chuyện

Tích hợp với Google Gemini

Để sử dụng Google Gemini API:

  1. Lấy API key từ Google AI Studio
  2. Thêm API key vào file .env:
    GEMINI_API_KEY=your_api_key_here
    

Bảo mật

  • Sử dụng JWT cho xác thực
  • Mật khẩu được mã hóa bằng bcrypt
  • CORS được cấu hình an toàn
  • Các biến nhạy cảm được lưu trong file .env

Đóng góp

  1. Fork repository
  2. Tạo branch mới cho tính năng của bạn
  3. Commit các thay đổi
  4. Push lên branch
  5. Tạo Pull Request

Giấy phép

Dự án này được cấp phép theo giấy phép MIT - xem file LICENSE để biết thêm chi tiết.

About

Hệ thống chat bot đơn giản môn đồ án CNTT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors