1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Báo cáo bài tập lớn bài tập lớn dapp quyên góp, từ thiện qucf môn project 1

16 1 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề DApp quyên góp, từ thiện QUCF
Tác giả Đặng Đình Quý
Người hướng dẫn Thầy Trần Nhật Hóa
Trường học Trường Đại học Bách khoa Hà Nội
Chuyên ngành Project 1
Thể loại bài tập lớn
Thành phố Hà Nội
Định dạng
Số trang 16
Dung lượng 0,92 MB

Nội dung

Thay vì huy động vốn thông qua các kênh trung gian truyền thống như ngân hàng, quỹ đầu tư mạo hiểm hay các nền tảng huy động vốn tập trung, QUCF cho phép các dự án kết nối trực tiếp với

Trang 1

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

Viện Công nghệ thông tin và Truyền thông

BÁO CÁO BÀI TẬP LỚN

Bài tập lớn:

DApp quyên góp, từ thiện

QUCF Môn: Project 1

Giảng viên hướng dẫn: Thầy Trần Nhật Hóa

Sinh viên thực hiện: Đặng Đình Quý 20215466

Trang 2

Mục lục

I GIỚI THIỆU DỰ ÁN 3

1.1 Bài Toán 3

1.2 Mục Tiêu 3

II CHỨC NĂNG CHÍNH 3

2.1 Các tác nhân trong hệ thống 3

2.2 Các chức năng cụ thể 3

2.3 Đăng nhập vào hệ thống 4

III CÔNG NGHỆ SỬ DỤNG 4

IV KẾT QUẢ ĐẠT ĐƯỢC 4

4.1 Giao diện của trang 4

4.2 Liệt kê tất các dự án 5

4.3 Tạo dự án mới 6

4.4 Giao diện chi tiết từng dự án 6

4.4 Chức năng đặt số ETH mà muốn gửi vào dự án 7

4.5 Chức năng chỉnh sửa thông tin dự án ( chỉ người khởi tạo dự án mới thấy) 8

4.6 Chức năng xóa dự án (nếu có sai sót và chỉ có thể là người khởi tạo dự án mới có quyền xóa) 8

4.7 Hiển thị thông tin thống kê của những người tham gia đóng góp 9

4.8 Khi số tiền đã đủ sẽ tự đóng phần góp tiền và trở về trạng thái đã chuyển tiền cho người khởi tạo dự án 9

V KIẾN THỨC ĐÃ HỌC ĐƯỢC VÀ SỰ PHÁT TRIỂN 10

5.1 Lập Trình và Framework: 10

5.2 Thuật Toán và thư viện: 10

VI KẾT LUẬN 10

Trang 3

I GIỚI THIỆU DỰ ÁN

Dapp QUCF là một mô hình huy động vốn mới nổi dựa trên công nghệ

blockchain Thay vì huy động vốn thông qua các kênh trung gian truyền thống như ngân hàng, quỹ đầu tư mạo hiểm hay các nền tảng huy động vốn tập trung, QUCF cho phép các dự án kết nối trực tiếp với các nhà đầu tư cá nhân ở mọi nơi thế giới thông qua nền tảng blockchain, tạo ra một hệ thống minh bạch, an toàn và hiệu quả hơn

1.1 Bài Toán

Với mong muốn tạo ra một nền tảng đơn giản để mọi người dễ dàng sử dụng

• Có thể tạo nhiều sự kiện, tự xử lý chúng

• Theo dõi tiến độ dự án một cách dễ dàng

1.2 Mục Tiêu

• Tạo trải nghiệm người dùng thoải mái và dễ sử dụng

• Quản lý các dự án hiệu quả

• Bảo mật thông tin người dùng và thanh toán

II CHỨC NĂNG CHÍNH

2.1 Các tác nhân trong hệ thống

Trang 4

Tên tác nhân Mô tả tác nhân

1 Người tạo dự án Người quản lý dự án mà họ tạo trên hệ thống

2 Người tham gia Người sử dụng hệ thống sau khi đăng nhập thành ủng hộ công

3 Khách Người sử dụng hệ thống khi chưa đăng nhập

2.2 Các chức năng cụ thể

• Đăng nhập vào trang web bằng ví Metamask

• Quản lý dự án (thêm sửa xóa), hiện thị thông tin tiến độ của dự án

• Theo dõi từng người tham gia ủng hộ cho dự án

Trang 5

2.3 Đăng nhập vào hệ thống

• Đăng nhập: Người dùng không cần đăng ký, chỉ đơn giản click vào nút

“Connect Wallet” và đồng ý cho phép kết nối ví Metamask của họ với

QUCF là được

2.4 Quản lý dự án (thêm, sửa, xóa, rút tiền) hiện thị thông tin tiến độ của

dự án

• Sau khi kết nối ví thành công, ai cũng sẽ có thể tự tạo ra một dự án cho riêng mình

• Sau khi tạo xong dự án, họ có thể chỉnh sửa hoặc xóa chúng nếu như bị lỗi

• Khách sẽ có thể xem những dự án hiện có và chỉ có thể góp tiền vào

dự án

2.5 Theo dõi từng người tham gia ủng hộ cho dự án

• Truy cập vào từng dự án để xem chi tiết địa chỉ, số lượng (ETH), thời gian … của những người tham gia quyên góp

III CÔNG NGHỆ SỬ DỤNG

Trang 6

Dự án sử dụng một loạt công nghệ để đảm bảo tính ổn định, hiệu suất và bảo mật của trang web, bao gồm:

• Ngôn ngữ lập trình: Javascript ( tạo giao diện, tương tác với giao diện), Solidity (tạo hợp đồng thông minh)

• Framework cho giao diện: ReactJs

• Thư viện: Tailwind CSS

• Môi trường phát triển & deploy contract: Hardhat

• Framework cho tương tác với smartcontract: Ether.Js

IV KẾT QUẢ ĐẠT ĐƯỢC

4.1 Giao diện của trang

- Nếu chưa có ví thì sẽ hiển thị thông báo yêu cầu người dùng tải ví về

Trang 7

- Sau khi tải và kết nối thì ta có giao diện như sau

4.2 Liệt kê tất các dự án

Trang 8

- Click load more để xem được nhiều dự án hơn

Trang 9

4.3 Tạo dự án mới

Khi nhấn Submit thì ví sẽ yêu cầu người tạo dự án xác nhận hoặc từ chối

4.4 Giao diện chi tiết từng dự án

Trang 10

- Cả người tạo dự án hay những người khác đều có thể xem chi tiết dự án khi click vào dự án bất kỳ, và chỉ có người tạo dự án mới có thể thấy phần Edit

và Delete dự án

Trang 11

4.4 Chức năng đặt số ETH mà muốn gửi vào dự án

- Có thể đặt số lượng ETH tùy ý mà người dùng muốn quyên góp

- Nếu đặt nhiều hơn số lượng ETH cần thiết thì hệ thống cũng vẫn sẽ tự đóng luôn và không hoàn lại cho họ ( vì ETH rất đắt nên khả năng nhầm là ít ) nên tổng số họ quyên góp vẫn sẽ chuyển thẳng vào ví của người khởi tạo

Trang 12

4.5 Chức năng chỉnh sửa thông tin dự án ( chỉ người khởi tạo dự án mới thấy)

-Người khởi tạo dự án có thể tự do sửa lại thông tin của dự án y như lúc tạo dự

án mới

4.6 Chức năng xóa dự án (nếu có sai sót và chỉ có thể là người khởi tạo dự

án mới có quyền xóa)

Trang 13

Sau khi xóa sẽ có trạng thái như sau

4.7 Hiển thị thông tin thống kê của những người tham gia đóng góp

- Cứ sau khi có một người đóng góp thì sẽ lại tăng thêm 1 người vào trong bảng thống kệ và thêm ngay ở trên đầu

4.8 Khi số tiền đã đủ sẽ tự đóng phần góp tiền và trở về trạng thái đã

chuyển tiền cho người khởi tạo dự án

Trang 14

- Nếu quá hạn thời gian dự án tồn tại mà người dùng vẫn gửi tiền vào thì contract sẽ tự gửi lại số ETH cho người quyên góp mà họ đã đặt vào dự án

Trang 15

V KIẾN THỨC ĐÃ HỌC ĐƯỢC VÀ SỰ PHÁT TRIỂN

5.1 Lập Trình và Framework:

• Sử dụng Javascript và học thêm được Reactjs cơ bản để xây dựng Dapp

• Học được thêm về cách dùng Tailwind CSS, tiết kiệm được thời gian hơn

• Sử dụng Solidity để viết Smartcontract

• Sử dụng Hardhat để tạo môi trường Blockchain chạy cục bộ cho Dapp

• Sử dụng Etherjs để tương tác với Smartcontract

5.2 Thuật Toán và thư viện:

• Áp dụng các cách dùng đối với mảng, đối tượng để xử lý dữ liệu

• Sử dụng các hàm và thuật toán để cắt chuỗi

• Sử dụng các thư viện trong javascript

Hiện tại thì dự án vẫn rất là sơ sài, và có thể có sai sót ở đâu đó như:

• Phần giao diện quá đơn giản

• Bố cục chưa được đẹp mắt và thô sơ

Trang 16

• Các chức năng và tính năng còn ít.

Vì thế, nên tương lai dự án này vẫn có thể phát triển với giao diện đẹp hơn, thêm nhiều các tính năng hơn để phục vụ cho nhu cầu người tham gia một cách tốt nhất

VI KẾT LUẬN

- Nhìn chung, Dapp này là một giải pháp thay thế đầy hứa hẹn cho các dự án đổi mới nhằm đảm bảo nguồn vốn đồng thời mang lại sự thuận tiện cho các nhà đầu

tư và người đóng góp Nếu áp dụng được trong thực tế, nó sẽ giúp giải quyết được rất nhiều vấn đề như chuyển tiền, quyên góp đa quốc gia, kêu gọi được các nhà hảo tâm mà không cần tốn công sức Vì vậy, đây cũng là vấn đề chung để tiếp tục phát triển mở rộng thêm trong lĩnh vực này

Ngày đăng: 02/04/2024, 08:58

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w