Skip to content

ovltn/magic-post

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MagicPost

MagicPost là công ty hoạt động trong lĩnh vực chuyển phát. Công ty này có các điểm giao dịch phủ khắp cả nước. Mỗi điểm giao dịch phụ trách một vùng. Ngoài các điểm giao dịch, công ty cũng có nhiều điểm tập kết hàng hóa. Mỗi điểm giao dịch sẽ làm việc với một điểm tập kết. Ngược lại, một điểm tập kết sẽ làm việc với nhiều điểm giao dịch.

Build:

npm run build

Run:

npm run start

Chức Năng Cho Từng Đối Tượng Sử Dụng

Chức Năng Nhân Viên Nói Chung

  • Đăng nhập tài khoản nhân viên.

    POST /auth/login
    Body:
    {
       "username": "21020751",
       "password": "21020751"
    }
  • Đổi mật khẩu tài khoản nhân viên.

    PUT /auth/password/change
    Body:
    {
        "password": "21020751",
        "newPassword": "21020755"
    }

Chức Năng Lãnh Đạo Công Ty

  • Quản lý hệ thống các điểm giao dịch và điểm tập kết.

    POST /department/create
    Body:
    {
        "province": "Ho Chi Minh",
        "district": "Quan 1",
        "street": "135 Nguyen Hue",
        "phone": "0962142715",
        // see constants/department.type.js
        "type": "POSTOFFICE",
        // if department type is STORAGE, no need for these fields below
        "cfs": "654df7b079626d8a284e9a75", // STORAGE id
        "zipcode": "70000"
    }
    PUT /department/update/:id
    GET /department/:id
    GET /department
  • Quản lý tài khoản trưởng điểm điểm tập kết và điểm giao dịch. Mỗi điểm giao dịch hoặc điểm tập kết có một tài khoản trưởng điểm.

    POST /staff/manager/create
    Body:
    {
        "role": "POSTOFFICE-MANAGER" // See constants/staff.role.js
        "department": "654df7b079626d8a284e9a75" // Corresponding to role
        "firstname": "Gia Bao",
        "lastname": "Nguyen Tran",
        "gender": "Male",
        "email": "only.zabao@example.com"
    }
    PUT /staff/manager/update/:id
    GET /staff/manager/:id
    GET /staff/manager
  • Thống kê hàng gửi, hàng nhận trên toàn quốc, từng điểm giao dịch hoặc điểm tập kết.

    GET /shipment/nationwide
    GET /shipment/department/:id/:type // type: send, received

Chức Năng Trưởng Điểm Tại Điểm Giao Dịch

  • Quản lý tài khoản cho giao dịch viên tại điểm giao dịch.

    POST /staff/employee/create
    Body:
    {     
        "firstname": "Gia Bao",
        "lastname": "Nguyen Tran",
        "gender": "Male",
        "email": "only.zabao@example.com"
    }
    PUT /staff/employee/update/:id
    GET /staff/employee/:id
    GET /staff/employee
  • Thống kê hàng gửi, hàng nhận tại điểm giao dịch.

    GET /shipment/department/:type // type: send, received

Chức Năng Giao Dịch Viên Tại Điểm Giao Dịch

  • Ghi nhận hàng cần gửi của khách (người gửi), in giấy biên nhận chuyển phát và phát cho khách hàng.

    Note: Sử dụng api để tạo QR code khi in giấy biên nhận.

    GET /department/provinces // Available provinces to send shipment
    GET /department/districts?province= // Available district to send shipment
    POST /shipment/create
    Body:
    {
        // Address field must be correct according to real location
        "sender": {
            "name": "Nguyen Van A",
            "phone": "0945162758",
            "province": "Ha Noi",
            "district": "Nam Tu Liem",
            "street": "17 Trung Van",
            "zipcode": "10000"
        },
        "receiver": {
            "name": "Pham Thi B",
            "phone": "0948153486",
            "province": "Ha Noi",
            "district": "Cau Giay",
            "street": "144 Xuan Thuy",
            "zipcode": "10000"
        },
        "meta": {
            "type": "DOCUMENT", // See constant/shipment.type.js
            // Below are optional fields
            "weight": 5000 // gram
            "note": "As quick as posible",
            "item": [
                {
                    "name": "book",
                    "quantity": 1,
                    "value": 15000
                }
            ]
        }
    }
  • Tạo đơn chuyển hàng gửi đến điểm tập kết mỗi/trước khi đem hàng gửi đến điểm tập kết.

    Note: In danh sách đơn hàng đã đõng gói, sẵn sàng để gửi lên điểm tập kết.

    GET /transaction/ctp/des // Received shipment from customer
    POST /transaction/pts // Push list of shipments to storage
    Body:
    [
        {
            shipment: "654df7b079626d8a284e9a75"
        },
        {
            shipment: "654df7b079626d8a284e9a75"
        }
    ]
    GET /transaction/pts/pos // Send shipments to storage.
  • Xác nhận (đơn) hàng về từ điểm tập kết.

    GET /transaction/stp/des // Received shipment from storage
    PUT /transaction/stp
    Body:
    {
        ids: [ ... ], // list of transactions id
        data: {
            status: "RECEIVED" // or HOLD
        } 
    }
  • Tạo đơn hàng cần chuyển đến tay người nhận.

    GET /transaction/stp/des // Received shipment from storage
    POST /transaction/ptc
    Body:
    [
        {
            shipment: "654df7b079626d8a284e9a75"
        },
        {
            shipment: "654df7b079626d8a284e9a75"
        }
    ]
  • Xác nhận hàng đã chuyển đến tay người nhận theo. Xác nhận hàng không chuyển được đến người nhận và trả lại điểm giao dịch. Thống kê các hàng đã chuyển thành công, các hàng chuyển không thành công và trả lại điểm giao dịch.

    GET /transaction/ptc/pos // Send shipment to customer
    PUT /transaction/ptc
    Body:
    {
        ids: [ ... ], // list of transactions id
        data: {
            status: "RECEIVED" // or HOLD
        } 
    }

Chức Năng Trưởng Điểm Tại Điểm Tập Kết

  • Quản lý tài khoản cho nhân viên viên tại điểm tập kết.

    // Same as Post-office manager
  • Thống kê hàng đi, đến.

    // Same as Post-office manager

Chức Năng Nhân Viên Tại Điểm Tập Kết

  • Xác nhận (đơn) hàng đi từ điểm giao dịch chuyển đến.

    GET /transaction/pts/des // Received shipment from postoffice
    PUT /transaction/pts
    Body:
    {
        ids: [ ... ], // list of transactions id
        data: {
            status: "RECEIVED"
        } 
    }
  • Tạo đơn chuyển hàng đến điểm tập kết đích (ứng với điểm giao dịch đích, tức điểm giao dịch phụ trách vùng ứng với địa chỉ của người nhận).

    GET /transaction/pts/des // Received shipment from postoffice
    POST /transaction/sts
    Body:
    [
        {
            shipment: "654df7b079626d8a284e9a75"
        },
        {
            shipment: "654df7b079626d8a284e9a75"
        }
    ]
    GET /transaction/sts/pos // Send shipments to storage
  • Xác nhận (đơn) hàng nhận về từ điểm tập kết khác.

    GET /transaction/sts/des // Received shipment from storage
    PUT /transaction/sts
    Body:
    {
        ids: [ ... ], // list of transactions id
        data: {
            status: "RECEIVED"
        } 
    }
  • Tạo đơn chuyển hàng đến điểm giao dịch đích.

    GET /transaction/sts/des // Received shipment from storage
    POST /transaction/stp
    Body:
    [
        {
            shipment: "654df7b079626d8a284e9a75"
        },
        {
            shipment: "654df7b079626d8a284e9a75"
        }
    ]
    GET /transaction/stp/pos

Chức Năng Cho Khách Hàng

  • Tra cứu trạng thái và tiến trình chuyển phát của kiện hàng mình gửi.
    GET /shipment/track/:id

About

[UET] Web Development Project

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published