TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO THỰC TẬP LẬP TRÌNH FLUTTER TRÊN ỨNG DỤNG DI ĐÔNG Công ty thực tập 8XLAND Người phụ trách BÙI VĂN HUY Thực tập sinh TRẦN HIẾU NGHĨA TP[.]
Trang 1TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
TP Hồ Chí Minh, tháng 10 năm 2022
Trang 2LỜI MỞ ĐẦU 1
Chương 1 Giới thiệu về công ty đang thực tập 3
1 1 Khái quát về công ty 8xLand 3
1.2 Quá trình hình thành và phát triển 4
Chương 2 Ngôn ngữ lập trình Flutter 5
2.1 Flutter là gì? 5
2.2 Đặc điểm nổi bật 5
2.3 Lý do bản thân chọn chuyên đề với Flutter để thực tập 5
Chương 3 Nội dung thực tập 6
3.1 Quy trình thực tập và công việc thực tế nơi đang thực tập 6
3.2 Nghiệp vụ chuyên môn 8
Chương 4 Các công việc đã làm trong quá trình thực tập 12
4.1 Màn hình yêu thích cơ sở: 12
4.2 Màn hình yêu thích chuyên viên 13
4.3 Màn hình yêu thích sản phẩm 14
4.4 Màn hình sách danh mục yêu thích 16
4.5 Màn hình lịch hẹn trạng thái đang xác nhận 17
4.6 Màn hình lịch hẹn trạng thái đơn nháp 18
4.7 Màn hình lịch hẹn tráng thái lịch đang hẹn 19
4.8 Component bottom sheet đặt lịch 20
4.9 Màn hình chọn chuyên viên tại nhà 21
4.10 Màn hình danh sách chọn chuyên viên tại nhà 21
4.11 Màn hình địa chỉ cá nhân 23
4.12 Màn hình thiết lập tài khoản 24
4.13 Màn hình hỗ trợ 25
Trang 34.14 Màn hình nhật ký hoạt động 26
4.15 Lịch làm việc cụ thể 27
4.16 Tổng kết các phần bản thân đã làm 29
Chương 5 Tự đánh giá và nhận xét thực tập 31
Nhận thức của bản thân sau thời gian tìm hiểu và tham gia thực tập tại đơn vị 31
Học hỏi từ các quy định nơi thực tập 32
KẾT LUẬN 33
Trang 4LỜI MỞ ĐẦU
Công nghệ thông tin trong giai đoạn hiện nay đang có những bước phát triển như vũ bão trên mọi lĩnh vực hoạt động khắp nơi như y tế, giáo dục, kinh doanh… Và nó được ápdụng hầu hết ở mọi công ty để có thể quản lý và phát triển một cách tốt hơn
Qua thời gian tìm hiểu về môn học thực tập doanh nghiệp với đề tài thực tập một công
ty liên quan đến chuyên ngành công nghệ thông tin Ở trong Thành Phố Hồ Chí Minh này, thì hiện tại có rất nhiều ngành nghề liên quan đến lĩnh vực này Nhưng em đã chọn thực tập một chuyên ngành di động với Framework Flutter với ngôn ngữ lập trình là Dart.Trong quá trình thực tập được đi tìm hiểu thực thế thì em hiểu rằng tổ chức, mục tiêu làmột trong những vấn đề rất quan trọng trong việc quản lý công ty để có thể tồn tại và pháttriển một cách tốt hơn
Trang 1
Trang 5NHẬN XÉT CỦA KHOA
Trang 6
Chương 1 Giới thiệu về công ty đang thực tập
1 1 Khái quát về công ty 8xLand
Thông tin chung của công ty
Loại công ty: Công Ty Trách Nhiệm Hữu Hạn và dịch vụ
Tên công ty: 8XLand (Wowland Group)
Logo công ty:
Địa chỉ: 211 Đường Số 5, Khu Đô Thị Lakeview, Phường An Phú, Thành phố Thủ Đức, Thành phố Hồ Chí Minh, Việt Nam
Người đại diện: Bùi Thị Linh Vi
Website: https://8xland.com/
Số điện thoại: 07999 01999
Email: cskh@8xland.com
Đặc điểm sản xuất kinh doanh
Phát triền và môi giới bất động sản, Nơi cung cấp sản phẩm dự án đa dạng, thỏa sức khám phá các dự án BĐS hot tại nhà, thông qua các kĩ thuật công nghệ hiện đại.
8X Land hỗ trợ tối đa cho người dùng các công cụ quản lý cần thiết cho nhà môi giới: tính khoản vay dự kiến, phong thủy bất động sản, pháp lý bất động sản…
8X Land được nghiên cứu dựa trên công nghệ 4.0 và big data cực kỳ thông minh với
hệ sinh thái đa dạng Kết nối, tìm kiếm và chia sẻ trong lĩnh vực bất động sản
Các loại hình bất động sản được 8xLand cung cấp
8X Land cung cấp cho thị trường và khách hàng danh mục các loại BĐS đa dạng phân khúc bao gồm: nhà phố, biệt thự, căn hộ chung cư, office, đất nền, nhà xưởng,
Tầm nhìn
Trang 3
Trang 7Kiến tạo thế giới THỊNH VƯỢNG thông qua ứng dụng công nghệ tân tiến trong hoạt động đầu tư, phát triển dịch vụ bất động sản.
Tạo ra cộng đồng môi giới CHÂN CHÍNH: Làm việc chuyên nghiệp, hiệu quả
Sứ mệnh
Kết nối công nghệ - Nâng tầm thịnh vượng
Tạo ra công cụ hỗ trợ đắc lực đồng hành cùng môi giới đạt được thành công trong sự nghiệp
Xây dựng hệ thống quản lý thông minh với: Quy trình xử lí tự động, khép kín
Nền tảng giúp kết nối, đưa Bất Động Sản Việt Nam vươn tầm thế giới
1.2 Quá trình hình thành và phát triển
Vào năm 2017, thiết lập trang thông tin điện tử về bất động sản, khách hàng có thể đăng tải, tìm kiếm thông tin bán/mua/cho thuê bất động sản - Cung cấp thông tin về bất động sản qua điện thoại hoặc thư điện tử
Trong 2018, Tư vấn, môi giới, đấu giá bất động sản, đấu giá quyền sử dụng đất
Chi tiết: Sàn giao dịch bất động sản, môi giới bất động sản, tư vấn, quản lý bất động sản, Trung gian trong việc mua, bán hoặc cho thuê bất động sản trên cơ sở phí hoặc hợp đồngNhững năm còn lại phát triển hơn thông qua website và ứng dụng trên di động để phổ biến và quảng cáo rộng rãi hơn Cùng với dịch vụ tư vấn pháp lý, tư vấn phong thủy, tính lãi vay, thẩm định khả năng vay, định giá đúng Bất động sản
Trang 8Chương 2 Ngôn ngữ lập trình Flutter
2.1 Flutter là gì?
Flutter là mobile UI framework của Google để tạo ra các giao diện chất lượng cao trên iOS và Android trong khoảng thời gian ngắn Flutter hoạt động với những code sẵn có được sử dụng bởi các lập trình viên, các tổ chức
Flutter hoàn toàn miễn phí và cũng là mã nguồn mở
Sử dụng ngôn ngữ lập trình Dart đơn giản và dễ học
Flutter ra đời vào tháng 05/2017
Thể hiện cùng một UI trên nhiều nền tảng
2.3 Lý do bản thân chọn chuyên đề với Flutter để thực tập
Theo quan điểm cá nhân thì Flutter trong những năm gần đây thì Flutter có tốc
độ tăng trưởng nhanh nhất Flutter hỗ trợ đa nên tảng và tốc độ chạy Debug khá
Trang 9Chương 3 Nội dung thực tập
3.1 Quy trình thực tập và công việc thực tế nơi đang thực tập
Đầu tiên nhận nhiệm vụ trong việc lập trình phần mềm Trong quá trình nàynếu có vấn đề chưa hiểu thì có thể hỏi với trưởng nhóm Và nếu trong trường hợp trưởng nhóm cũng không rõ thì sẽ hỏi với bên nhóm thiết kế UI này Sau khi nhậnnhiệm vụ cần phải ghi thêm nhiệm vụ trên Github và ghi trên nhiệm vụ với nhãn
đó là đang thực hiện, thêm cả trên ứng dụng Trello Vì bên nhóm IT và nhóm thiết
kế trao đổi thông tin trên Trello
Sau khi hoàn thành các bước trên khi nhận nhiệm vụ thì bản thân bắt đầu code Trong quá trình code này lỗi thì bản thân phải kiểm tra lại đến khi đã hoàn thành và thấy ổn thì bàn giao cho nhóm QC Và trên nhiệm vụ của Github và Trello thay nhãn là cần QC
Nhóm QC sẽ chịu trách nhiệm kiểm tra chức năng của phần mềm đó, nếu chức năng còn thiếu hay chưa hoàn chỉnh thì sẽ bàn giao lại cho em Nếu thành công thì sẽ báo là đã QC thành công trên Trello Nếu thất bại thì dán nhãn QC thấtbại và thông báo lỗi chi tiết của em thông qua Zalo
Bên dưới là sơ đồ mô tả quy trình làm việc tại bộ phận của em tại công ty
Trang 10Những kiến thức đã được học tại công ty
Kỹ năng tổ chức công việc thông qua các ứng dụng Trello, Github, Zalo
Kỹ năng lập kế hoạch với bản thân để có thể hoàn thành nhiệm vụ của mình đúng thời gian quy định
Kiến thức chuyên ngành vững chắc hơn
Phối hợp công việc với các nhóm
Ngoài ra còn được nâng cao kỹ năng giao tiếp, thuyết trình, khả năng giải quyết vấn đề
Trang 113.2 Nghiệp vụ chuyên môn.
Hiện tại công ty chia thành các đội trong công ty: marketing, sales, thiết kế, phát triển ứng dụng Mỗi đội là một phòng ban được chia làm công việc với nhau
Công ty đang phát triển chủ yếu là về bất động sản, nhưng cũng đang mở rộng như đang chuẩn bị thực hiện mở rộng thêm về lĩnh vực làm đẹp
Về chuyên ngành phát triển ứng dụng bất động sản với Flutter, thực hiện thiết kế ứng dụng và các chức năng theo như yêu cầu của đội thiết kế Chỉnh sửa lại các phần chưa được tối ưu và còn hạn chế của ứng dụng Giám sát bảo trì ứng dụng theo thời gian và nâng cấp
Trưởng nhóm sẽ nhận các yêu cầu từ các ban lãnh đạo hay thiết kế để đưa ra nhiệm vụ mỗi ngày cho các thành viên trong nhóm Vào mỗi buổi sáng sẽ có báo cáo công việc cũng như xem xét tiến độ của mỗi thành viên như thế nào Đưa ra các giải pháp tối ưu cũng như quản lý hệ thống bên sever Lập kế hoạch để họp với các nhóm mỗi tuần để có thể thống nhất ý kiến và làm công việc dễ dàng hơn
Các thành viên trong nhóm bao gồm nhân viên chính thức cũng như thực tập sinh, sẽ báo cáo công việc mình làm mỗi ngày, với sự hướng dẫn của trưởng nhóm để phát triển các giao diện, chức năng của ứng dụng Mỗi khi một nhiệm vụ hoàn thành, sẽ báo cáo trên ứng dụng Trello và GitHub để trưởng nhóm có thể dễ dàng quản lý và đưa ra kế hoạch phù hợp hơn Rồi sau đó trưởng nhóm sẽ tự mình kiểm thử chức năng đó, nếu ổn thì đưa cho nhóm QC để kiểm tra lần cuối Mỗi chức năng đều thực hiện như vậy, trong quá trình QC nếu lỗi đó liên quan đến bản thân thì phải tự mình giải quyết vấn đề đó Trong trường hợp nó quá khó khăn thì có thể yêu cầu lại với nhóm thiết kế thực hiện theo vấn đề đó một cách dễ dàng hơn Cũng như vậy mỗi khi đội thiết kế đưa ra giao diện của ứng dụng không phù hợp hay không hợp lý, thì bản thân có thể thảo luận với đội thiết kế
để có thể thảo luận về vấn đề này để phát triển một cách tốt hơn
Trang 12 Ở hình báo cáo GitHub này trưởng nhóm sẽ tạo các vấn đề mình sẽ cần phải làm, các nhân viên lựa chọn nhiệm vụ phù hợp với mình để thực hiện Khi vừa nhận thì sẽ dán nhãn là đang thực hiện, khi thực hiện xong sẽ là nhãn đã hoàn thành.
Trang 13 Phần dưới sẽ mô tả chi tiết về công việc thông qua các yêu cầu có sẵn, và đính kém theo với hình ảnh để em hiểu rõ một cách trực quan hơn Nếu không hiểu
gì thì có thể liên hệ với trưởng nhóm để tìm hiểu thêm
Trang 14 Trello là ứng dụng quản lý công việc khá phổ biến trong thời gian này Các task được chia ra các phần: chức năng phụ, chức năng, cụm chức năng, thực hiện sau, đang thực hiện, đã hoàn thành, đã review.
Trang 15Chương 4 Các công việc đã làm trong quá trình thực tập
4.1 Màn hình yêu thích cơ sở:
Được code theo mẫu thiết kế từ đội thiết kế với ứng dụng Figma Cách được thực hiện là xây dựng các tab view cho phép có thể chuyển qua loại cơ sở, chuyên viên hoặc sản phẩm Với mỗi loại sẽ có một chức năng riêng Riêng phần cơ sở này sẽ hiện thị các cơ sở làm đẹp đã đăng ký
Trang 164.2 Màn hình yêu thích chuyên viên
Cũng được dựa trên Figma ở đây sẽ hiển thị chuyên viên Chuyên viên cũng giống như cơ sở chỉ khác là cơ sở này chỉ có một người nên cũng có các chức năng được thiết kế so với các cơ sở Tại màn hình này cũng cho phép người dùng nhấn yêu thích để lưu trạng thái yêu thích của chuyên viên với tài khoản của mình
Trang 194.4 Màn hình sách danh mục yêu thích
Như ở các màn hình yêu thích trên thì khi nhấn vào xem tất cả thì sẽ hiện tất cả thông tin danh mục của danh sách đó Và các card cũng có chức năng như vậy
Trang 224.7 Màn hình lịch hẹn tráng thái lịch đang hẹn
Màn hình này khi xác nhận hoàn tất thì sẽ xuất hiện với đầy đủ thông tin Còn
có component đếm ngược được tính từ ngày hiện tại đến ngày hẹn Thêm chức năng bộ lọc theo ngày đang hẹn và nó sẽ hoạt động khi chúng ta nhấn vào
Trang 23
4.8 Component bottom sheet đặt lịch
Hiện tại chưa có đủ icon nên hiển thị với hai hình giống nhau còn chức năng thì khi chúng ta chọn loại nào với radio, nhấn xác nhận thì ứng dụng sẽ hiển thị màn hình mong muốn của mình
Trang 244.9 Màn hình chọn chuyên viên tại nhà
Màn hình này sẽ khá nhiều chức năng: địa chỉ, loại chuyên viên hoặc dịch vụ đểlựa chọn, loại danh mục (phần này là để lọc), chọn thời gian phù hợp để lọc chuyên viên hoạt động vào thời gian đó và cuối cùng là hiển thị tất cả chuyên viên phù hợp với các điều kiện trên Khi nhấn đặt lịch thì chúng ta sẽ vào màn hình chi tiết đặt lịch và sẽ đặt lịch ngay trong đó
4.10 Màn hình danh sách chọn chuyên viên tại nhà
Trang 25 Màn hình này với các thẻ cũng giống như màn hình chọn chuyên viên tại nhà, nhấn đặt lịch sẽ vào màn hình chi tiết đặt lịch, chỉ khác là ở màn hình này sẽ hiện thị thông tin toàn bộ của một loại danh mục các chuyên viên.
Trang 264.11 Màn hình địa chỉ cá nhân
Hiện thị tất cả các loại địa của người dùng đã đăng ký, ở đây có dùng switch chophép người dùng chọn, lúc này các phần còn lại sẽ tự tắt đi Vì địa chỉ mặc định chỉ có một cái
Trang 274.12 Màn hình thiết lập tài khoản
Ở màn hình này sẽ hiện thị để cho phép người dùng cài đặt hoặc để xem thông tin cá nhân của mình Mỗi loại sẽ dẫn đến một màn hình khác nhau
Trang 284.13 Màn hình hỗ trợ
Với phần này sẽ hiện tất cả các thông tin hỗ trợ liên quan đến ứng dụng Mỗi danh mục thì sẽ hiện thị các loại hỗ trợ khác nhau
Trang 294.14 Màn hình nhật ký hoạt động
Màn hình này sẽ hiện thị các loại danh mục mà tài khoản người dùng hoạt động với bất kỳ tương tác nào liên quan đến: lượt đánh giá, bình luận, tương tác, tìm kiếm, tặng quà,…
Trang 304.15 Lịch làm việc cụ thể
Tuần Công việc Người
hướng dẫn
Mức độ hoàn thành
Nhận xét người hướng dẫn
1 - Tìm hiểu về văn hóa làm việc tại công
ty công ty.
- Nghiên cứu các công nghệ sử dụng
cho công việc.
Bùi Văn Huy
100% Hoàn Thành
Tốt
3 - Làm các bài test liên quan đến flutter
dưới sự hướng dẫn của trưởng nhóm.
Bùi Văn Huy
100% Hoàn Thành
Tốt
4 - Tìm hiểu source code của công ty.
- Làm bài test thiết kế UI dựa trên các
UI đã có sẵn của dự án.
Bùi Văn Huy
100% Hoàn Thành
Tốt
5 - Tham gia vào dự án (thiết kế UI).
- Nhận task theo yêu cầu của trưởng
nhóm.
Bùi Văn Huy
100% Hoàn Thành
Tốt
6 - Tham gia vào dự án (thiết kế UI).
- Nhận task theo yêu cầu của trưởng
nhóm.
Bùi Văn Huy
100% Hoàn Thành
Tốt
7 - Thiết kế component cho dự án.
- Tham gia vào dự án (thiết kế UI).
Bùi Văn Huy
100% Hoàn Thành
Tốt
Trang 31- Nhận task theo yêu cầu của trưởng
nhóm.
8 - Thiết kế component cho dự án.
- Tham gia vào dự án (thiết kế UI).
- Nhận task theo yêu cầu của trưởng
nhóm.
Bùi Văn Huy
100% Hoàn Thành
Tốt
9 - Tham gia vào dự án (thiết kế UI)
- Tham gia vào buổi họp nội bộ.
- Nhận task theo yêu cầu của trưởng
nhóm.
Bùi Văn Huy
100% Hoàn Thành
Tốt
10 - Tham gia vào dự án (thiết kế UI).
- Nhận task theo yêu cầu của trưởng
nhóm.
- Refactor code những chức năng đã
làm.
Bùi Văn Huy
100% Hoàn Thành
Tốt
11 - Tham gia vào dự án (thiết kế UI)
- Tham gia vào buổi họp nội bộ.
- Refactor code những chức năng đã
làm.
Bùi Văn Huy
100% Hoàn Thành
Tốt
12 - Tham gia vào dự án (thiết kế UI)
- Refactor code những chức năng đã
làm.
Bùi Văn Huy
100% Hoàn Thành
Tốt
13 - Phân tích chức năng của Voucher.
- Tham gia vào buổi họp nội bộ.
- Thiết kế cơ sở dữ liệu của Voucher
Bùi Văn Huy
100% Hoàn Thành
Tốt
14 - Tìm hiểu về source code back – end Bùi Văn 100% Hoàn Thành
Trang 32của dự án
- Tìm hiểu về Sql và công cụ
azureStudio
Huy Tốt
15 - Tham gia vào dự án (back - end)
- Tham gia vào dự án (thiết kế UI).
- Tham gia vào buổi họp nội bộ.
- fix lỗi hiện thị UI.
Bùi Văn Huy
100% Hoàn Thành
Tốt
16 - Tham gia vào dự án (back - end)
- Tham gia vào dự án (thiết kế UI).
- fix lỗi hiện thị UI.
Bùi Văn Huy
100% Hoàn Thành
Tốt
17 - Tham gia vào dự án (back - end)
- Tham gia vào buổi họp nội bộ.
- Add dữ liệu vào cho Voucher
Bùi Văn Huy
Mấy màn hình chính sẽ được ghép các componment và chúng đa số được sử dụng bởi các widget có sẵn của Flutter như là: ListView, GridView, Card, Container, gestureDetector, inkWell, …Chúng được đổ dữ liệu hàng loạt từ APItrả về dưới dạng JSON
Trang 33 Về phần back-end đa số sẽ được trưởng nhóm quản lý, dữ liệu được trả về dưới dạng JSON nên phần các nhân viên sẽ chịu trách nhiệm kiểm tra các JSON của API đó phù hợp hay không Nếu đã phù hợp thì sẽ gắn vào màn hình mà mình làm.
Các phần đã làm tuy khá khó khăn nhưng đã giúp bản thân phát triển kỹ năng, tốc độ Debug, xử lý tình huống trong kỹ năng của bản thân