ngocthanhdoan / devhub-web-api

DevHub Việt Nam
0 stars 1 forks source link

[devhub][issues_01][systems_db_api_review] #1

Open ngocthanhdoan opened 2 months ago

ngocthanhdoan commented 2 months ago
  1. Trang chủ

    Giới thiệu tổng quan: Mô tả ngắn gọn về mục tiêu và chức năng của hệ thống quản lý. Các tính năng chính: Liệt kê các tính năng nổi bật như quản lý tài khoản, cơ sở dữ liệu, và quyền truy cập.

  2. Đăng ký và Đăng nhập

    Đăng ký: Form đăng ký tài khoản nhà phát triển mới. Đăng nhập: Form đăng nhập tài khoản nhà phát triển đã có. Quên mật khẩu: Chức năng khôi phục mật khẩu.

  3. Quản lý tài khoản

    Danh sách tài khoản: Hiển thị danh sách tất cả các tài khoản nhà phát triển. Thêm tài khoản mới: Form để thêm mới một tài khoản nhà phát triển. Chỉnh sửa tài khoản: Form để chỉnh sửa thông tin tài khoản hiện tại. Xóa tài khoản: Chức năng xóa tài khoản nhà phát triển. Phân quyền tài khoản: Thiết lập các quyền hạn và vai trò cho từng tài khoản.

  4. Quản lý cơ sở dữ liệu

    Danh sách cơ sở dữ liệu: Hiển thị danh sách tất cả các cơ sở dữ liệu hiện có. Thêm cơ sở dữ liệu mới: Form để thêm mới một cơ sở dữ liệu. Chỉnh sửa cơ sở dữ liệu: Form để chỉnh sửa thông tin cơ sở dữ liệu hiện tại. Xóa cơ sở dữ liệu: Chức năng xóa cơ sở dữ liệu. Quản lý kết nối cơ sở dữ liệu: Thiết lập các thông số kết nối cho từng cơ sở dữ liệu (host, port, username, password).

  5. Quản lý quyền truy cập

    Danh sách quyền truy cập: Hiển thị danh sách tất cả các quyền truy cập hiện tại. Thêm quyền truy cập mới: Form để thêm mới một quyền truy cập. Chỉnh sửa quyền truy cập: Form để chỉnh sửa thông tin quyền truy cập hiện tại. Xóa quyền truy cập: Chức năng xóa quyền truy cập. Cấp phép truy cập: Cấp phép tài khoản nhà phát triển truy cập vào cơ sở dữ liệu cụ thể. Thiết lập vai trò và quyền hạn: Định nghĩa các vai trò và quyền hạn khác nhau trong hệ thống.

  6. Quản lý dự án

    Danh sách dự án: Hiển thị danh sách tất cả các dự án hiện có. Thêm dự án mới: Form để thêm mới một dự án. Chỉnh sửa dự án: Form để chỉnh sửa thông tin dự án hiện tại. Xóa dự án: Chức năng xóa dự án. Thiết lập cơ sở dữ liệu cho dự án: Lựa chọn cơ sở dữ liệu và tài khoản sử dụng cho từng dự án cụ thể. Thiết lập quyền truy cập cho dự án: Cấp quyền truy cập cho các tài khoản nhà phát triển vào dự án cụ thể.

  7. Cấu hình hệ thống

    Thiết lập kết nối máy chủ (host): Quản lý các thông số kết nối của các máy chủ. Thiết lập cấu hình cơ sở dữ liệu: Quản lý và cấu hình chi tiết các thông số của cơ sở dữ liệu. Thiết lập cấu hình tài khoản: Quản lý và cấu hình chi tiết các thông số của tài khoản nhà phát triển.

  8. Báo cáo và thống kê

    Thống kê truy cập: Hiển thị thống kê về việc truy cập cơ sở dữ liệu của các tài khoản. Báo cáo sử dụng: Báo cáo về việc sử dụng cơ sở dữ liệu và tài nguyên hệ thống. Lịch sử hoạt động: Ghi lại lịch sử hoạt động của các tài khoản nhà phát triển.

  9. Tài liệu và hỗ trợ

    Tài liệu hướng dẫn: Cung cấp các tài liệu và hướng dẫn chi tiết cho các nhà phát triển. Câu hỏi thường gặp (FAQ): Danh sách các câu hỏi thường gặp và câu trả lời. Liên hệ hỗ trợ: Form liên hệ và thông tin liên hệ hỗ trợ kỹ thuật.

  10. Về chúng tôi

    Giới thiệu công ty: Lịch sử, tầm nhìn, và sứ mệnh của công ty. Đội ngũ: Thông tin về đội ngũ phát triển và quản lý. Tuyển dụng: Thông tin về các vị trí đang tuyển dụng.

Công nghệ và Kiến trúc

Frontend: Sử dụng các framework như React, Angular hoặc Vue.js.
Backend: Sử dụng các ngôn ngữ và framework như Node.js, Express, hoặc Spring Boot.
Database: Sử dụng MySQL, PostgreSQL, hoặc MongoDB cho lưu trữ dữ liệu.
Authentication: Sử dụng JWT, OAuth2 cho việc xác thực và phân quyền.
API Documentation: Sử dụng Swagger hoặc Postman để tạo tài liệu API.
NguyenGiaManh7777 commented 1 month ago

Frontend: Sử dụng các framework như React, Angular hoặc Vue.js. Backend: Sử dụng các ngôn ngữ và framework như Node.js, Express, hoặc Spring Boot. Database: Sử dụng MySQL, PostgreSQL, hoặc MongoDB cho lưu trữ dữ liệu. Authentication: Sử dụng JWT, OAuth2 cho việc xác thực và phân quyền. API Documentation: Sử dụng Swagger hoặc Postman để tạo tài liệu API.

NguyenGiaManh7777 commented 1 month ago

Có chuẩn ko thế :))

ngocthanhdoan commented 1 month ago

hahaa, đang để ý tưởng để làm project thôi bác , project đang pending mà.

ngocthanhdoan commented 1 month ago

Hoàn Thành Giao Diện Cơ Bản [DELETE - lười quá nên chuyển sang sử dụng bootify.io]

Hoàn tất việc phát triển giao diện cơ bản cho frontend với các chức năng sau:

Bạn có thể xem giao diện demo tại đây: Link Demo

Tất cả các chức năng đã được triển khai và giao diện cơ bản đã hoàn thành. Cảm ơn các bạn đã theo dõi!

ngocthanhdoan commented 1 month ago

Code mệt quá di chuyển sang repo khác = ))), sau này rãnh maintan https://github.com/ngocthanhdoan/devhub-web-api-system-manager

ngocthanhdoan commented 4 weeks ago

devhub-web-api

-- Tạo bảng users (Tài khoản)
CREATE TABLE users (
    id UUID PRIMARY KEY,
    username VARCHAR(255) UNIQUE NOT NULL,
    email VARCHAR(255) UNIQUE NOT NULL,
    password_hash VARCHAR(255) NOT NULL,
    full_name VARCHAR(255) NOT NULL,
    role ENUM('developer', 'admin') DEFAULT 'developer',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Tạo bảng password_resets (Khôi phục mật khẩu)
CREATE TABLE password_resets (
    id UUID PRIMARY KEY,
    user_id UUID,
    reset_token VARCHAR(255) UNIQUE NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    expires_at TIMESTAMP NOT NULL,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

-- Tạo bảng databases (Cơ sở dữ liệu)
CREATE TABLE databases (
    id UUID PRIMARY KEY,
    name VARCHAR(255) UNIQUE NOT NULL,
    host VARCHAR(255) NOT NULL,
    port INT NOT NULL,
    username VARCHAR(255) NOT NULL,
    password VARCHAR(255) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Tạo bảng access_rights (Quyền truy cập)
CREATE TABLE access_rights (
    id UUID PRIMARY KEY,
    user_id UUID,
    database_id UUID,
    role ENUM('read', 'write', 'admin') NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE,
    FOREIGN KEY (database_id) REFERENCES databases(id) ON DELETE CASCADE
);

-- Tạo bảng projects (Dự án)
CREATE TABLE projects (
    id UUID PRIMARY KEY,
    name VARCHAR(255) UNIQUE NOT NULL,
    description TEXT,
    database_id UUID,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    FOREIGN KEY (database_id) REFERENCES databases(id) ON DELETE SET NULL
);

-- Tạo bảng project_access (Quyền truy cập dự án)
CREATE TABLE project_access (
    id UUID PRIMARY KEY,
    project_id UUID,
    user_id UUID,
    role ENUM('read', 'write', 'admin') NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
    FOREIGN KEY (project_id) REFERENCES projects(id) ON DELETE CASCADE,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

-- Tạo bảng system_config (Cấu hình hệ thống)
CREATE TABLE system_config (
    id UUID PRIMARY KEY,
    config_name VARCHAR(255) UNIQUE NOT NULL,
    config_value TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Tạo bảng logs (Lịch sử hoạt động)
CREATE TABLE logs (
    id UUID PRIMARY KEY,
    user_id UUID,
    action TEXT NOT NULL,
    timestamp TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE CASCADE
);

-- Tạo bảng reports (Báo cáo và thống kê)
CREATE TABLE reports (
    id UUID PRIMARY KEY,
    report_type ENUM('usage', 'access') NOT NULL,
    data JSON NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tạo bảng faqs (Câu hỏi thường gặp)
CREATE TABLE faqs (
    id UUID PRIMARY KEY,
    question TEXT NOT NULL,
    answer TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Tạo bảng contacts (Liên hệ hỗ trợ)
CREATE TABLE contacts (
    id UUID PRIMARY KEY,
    user_id UUID,
    subject VARCHAR(255) NOT NULL,
    message TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    status ENUM('open', 'closed') DEFAULT 'open',
    FOREIGN KEY (user_id) REFERENCES users(id) ON DELETE SET NULL
);

-- Tạo bảng about (Về chúng tôi)
CREATE TABLE about (
    id UUID PRIMARY KEY,
    company_name VARCHAR(255) NOT NULL,
    history TEXT,
    vision TEXT,
    mission TEXT,
    team TEXT,
    recruitment TEXT,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);

-- Tạo bảng documentation (Tài liệu hướng dẫn)
CREATE TABLE documentation (
    id UUID PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP
);