TRƯỜNG ĐẠI HỌC ĐẠI NAM
BÁO CÁO THỰC TẬP TẠI CÔNG TY TINASOFTVIỆT NAM
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ĐIỆN THOẠI CÔNG TYTINASOFT VIỆT NAM
Giảng viên hướng dẫn: Trần Đức MinhSinh viên thực hiện:
Hà Nội, năm 2023
Trang 2TRƯỜNG ĐẠI HỌC ĐẠI NAM
BÁO CÁO THỰC TẬP TẠI CÔNG TY TINASOFTVIỆT NAM
ĐỀ TÀI: XÂY DỰNG ỨNG DỤNG ĐIỆN THOẠI CÔNG TYTINASOFT VIỆT NAMH
Trang 3Việt Nam và Giám đốc Nguyễn Quốc Uy,
Trước hết, tôi xin gửi lời cảm ơn chân thành đến Trường Đại học Đại Nam vì đã tạo cơ hội cho chúng tôi thực tập tại công ty Tinasoft Đây là một trải nghiệm vô cùng quý báu và hữu ích trong quá trình học tập của chúng tôi.
Đồng thời, tôi muốn bày tỏ lòng biết ơn sâu sắc đến Thầy Trần Đức Minh và Giám đốc Nguyễn Quốc Uy vì sự nhiệt tình và tận tâm trong việc hướng dẫn chúng tôi trong suốt thời gian thực tập Thầy và Giám đốc đã chia sẻ kiến thức, kinh nghiệm quý giá và định hướng rõ ràng để chúng tôi phát triển kỹ năng và nhận thức về công việc.
Thời gian thực tập tại công ty Tinasoft, dù ngắn ngủi, đã mang lại cho chúng tôi nhiều kiến thức bổ ích và tạo động lực để phát triển sự nghiệp trong tương lai Chúng tôi đã học được cách làm việc hiệu quả, rèn luyện tinh thần học tập và nghiêm túc trong công việc Những kiến thức và kỹ năng này sẽ trở thành nền tảng vững chắc để chúng tôi vươn tới thành công trong tương lai.
Tuy nhiên, chúng tôi thừa nhận rằng trong bài báo cáo thực tập của chúng tôi có thể còn thiếu sót và chưa chính xác Chúng tôi xin nhận những góp ý, chỉnh sửa từ Thầy và Giám đốc để hoàn thiện báo cáo và nắm vững hơn những kiến thức đã được học.
Một lần nữa, chúng tôi xin chân thành cảm ơn Trường Đại học Đại Nam, Thầy Trần Đức Minh và Giám đốc Nguyễn Quốc Uy vì sự hỗ trợ và định hướng quý báu trong quá trình thực tập Hy vọng chúng tôi có cơ hội được gặp lại và hợp tác trong tương lai.
Đồ án bao gồm những nội dung chính sau:
Trang 4Chung 1 Giới thiệu.
Chung 2 Phân tích yêu cầu
Chung 3 Kết luận và hướng phát triển.
Trang 5CHƯƠNG 1 GIỚI THIỆU 5
CHƯƠNG 2 PHÂN TÍCH YÊU CẦU 8
2.1 Mô tả quá trình xây dựng Frontend 8
2.1.1 Cài đặt Vuejs và Vuetify 8
2.1.2 Xây dựng các component 8
2.2 Mô tả quá trình xây dựng Backend 10
2.2.1 Tạo project ASP.NET Core: 10
2.2.2 Xây dựng các API endpoints: 10
2.2.3 Kết nối cơ sở dữ liệu 11
2.3 Danh sách các chức năng chính 11
2.3.1 Chức năng đăng nhập đăng ký 11
2.3.2 Chức năng tạo danh sách sách 11
2.3.3 Sản phẩm ( Các mặt hàng sách cần hiển thị) 11
2.3.4 Trang chủ 11
2.3.5 Trang chi tiết 11
2.4 Phân cấp chức năng useCase 12
Trang 62.6.1 Table và sơ đồ quan hệ trên sql server 17
2.7 API Trên SWAGGER 20
2.8 Giao diện hiển thị 22
2.8.1 Giao diện trang chủ 22
2.8.2 Giao diện phần đăng nhập và đăng ký 24
2.8.3 Giao diện trang giỏ hàng 24
2.8.4 Giao diện trang admin (Quản lý người dùng) 27
CHƯƠNG 3: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 29
3.1 Kết quả đạt được 29
4.2 Hạn chế 29
4.3 Hướng phát triển 29
Trang 7CHƯƠNG 1 GIỚI THIỆU
1.1 1.1 Giới thiệu về Tinasoft
Tên công ty: TINASOFT VIET NAM JOINT STOCK COMPANYTên viết tắt: TINASOFT VIET NAM JOINT STOCK COMPANYMã số thuế: 0108564876
Địa chỉ trụ sở chính: Tầng 4, Tòa nhà Ellipse Tower, 110 Trần Phú, Hà Đông, Hà NộiĐại diện pháp luật: Hoàng Thu Thủy - Giới tính: Nữ - Chức danh: Tổng giám đốcNgày thành lập: 2018-12-27 00:00:00
Tình trạng hoạt động: Tình trạng hoạt động:Loại hình pháp lý: Công ty cổ phần
Logo công ty:
1.1.1 Cái nhìn chung về Tinasoft
Được thành lập vào năm 2018, Tinasoft nhanh chóng khẳng định vị thế là một trong những Nhà tư vấn Phát triển Phần mềm và Chuyển đổi số hàng đầu tại Việt Nam Kinh nghiệm, chuyên môn, cơ sở vật chất được trang bị tốt nhất, quản lý chuyên nghiệp và cam kết của chúng tôi đã và đang mang đến cho khách hàng sự hài lòng tối đa và đổi lại chúng tôi đã đạt được sự tăng trưởng nhanh chóng và bền vững trong hơn 6 năm qua.
Để trở thành điểm đến duy nhất cho mọi nhu cầu về phần mềm, Tinasoft được tổ chức thành một nhóm gồm các công ty hệ thống khác nhau bao gồm các lĩnh vực chuyên môn liên quan, cụ thể
Trang 8là Tư vấn chuyển đổi kỹ thuật số, Phát triển phần mềm, Công nghệ thông tin Nhân sự & Tìm nguồn cung ứng Với 6 năm có mặt trên thị trường, Tinasoft đã xây dựng được một mạng lưới rộng lớn các đối tác và chuyên gia, những người đang sát cánh cùng Tinasoft để cung cấp các dịch vụ phát triển và giải pháp phần mềm tỉnh vi, hiệu quả, theo yêu cầu đặc biệt cho khách hàng trên toàn thế giới Cho đến nay, chúng tôi đã hỗ trợ khách hàng thành công hơn 300 dự án phần mềm.
1.1.2 Công việc của Tinasoft
Bên cạnh trọng tâm chính của Tinasoft là dịch vụ Gia công phần mềm & Chuyển đổi số, chúng tôi cũng cung cấp các giải pháp công nghệ toàn diện như: ERP, EAM, SCE, d/EPM, WMS Tinasoft đã được lựa chọn trở thành đối tác chính thức của công nghệ hàng đầu thế giới như AWS, INFOR (USA), CityXsys, Fast Re- act Giúp doanh nghiệp đạt được lợi thế cạnh tranh trên thị trường với tốc độ và khả năng trích xuất thông tin, tự động hóa các công việc thủ công tẻ nhạt, hỗ trợ làm việc sáng tạo, thông minh.
Tinasoft đưa ra các mô hình hợp tác đa dạng như: Tăng cường nhân sự CNTT (Che lấp các khoảng trống về tài nguyên hoặc kỹ năng của nhóm CNTT nội bộ của bạn với các chuyên gia của chúng tôi do bạn trực tiếp quản lý.), Đội tự quản (Nhận một nhóm tự quản do PM hoặc Trưởng nhóm của Tinasoft lãnh đạo để thực hiện sáng kiến CNTT của bạn.), Thuê ngoài toàn bộ (Chúng tôi chăm sóc (các) chức năng CNTT cụ thể của bạn với toàn bộ trách nhiệm về chất lượng và các rủi ro liên quan)
1.1.3 Cơ cấu bộ máy tổ chức
Trang 91.1.4 Cơ sở vật chất kĩ thuật và công nghệ
Hiện Công ty Tinasoft Việt Nam có chi nhánh ở Tầng 4, Tòa nhà Ellipse Tower, 110 Trần Phú, Hà Đông, Hà Nội có vị trí làm việc thuận lợi với hệ thống cơ sở vật chất kỹ thuật hiện đại, trang bị đầy đủ tiện nghi từ các thiết bị phục vụ công việc đến nhu cầu cá nhân của nhân sự Công ty có con dấu riêng, được xây dựng 4 tầng với bố trí đầy đủ các phòng làm việc riêng của lãnh đạo văn phòng, phòng họp, phòng nghỉ trưa, phòng làm việc riêng của từng bộ phận Có nơi tiếp khách và trang bị máy tính cũng như máy chiếu đầy đủ phục vụ cho công việc…
Tại từng văn phòng của các bộ phận đều được trang bị cho văn phòng hệ thống máy vi tính để nhân viên có thể sử dụng làm việc và quản lý một cách chính xác nhất Ngoài ra, còn được trang thiết bị văn phòng như điều hòa, máy in, máy fax và một số thiết bị khác nhằm đáp ứng một cách tốt nhất nhu cầu của nhân viên tại công ty, tạo sự thoải mái để nhân viên có thể làm việc tốt đạt hiệu quả cao nhất.
1.2 các dự án tiêu biểu của Tinasoft Việt Nam1.2.1 Dự án Easy 1 của Tinasoft Việt Nam
Trang 10Tinasoft Việt Nam tự hào đã triển khai thành công dự án Easy 1 với đầy đủ tính năng một phần mềm quản lý tối ưu Với phần mềm quản lý và dịch vụ chất lượng cao của Tinasoft, công ty đã nhận được những phản hồi rất tích cực từ phía khách hàng
Dự án Easy 1 được Tinasoft triển khai dưới dạng mô hình Agile Scrum với đội ngũ nhân sự chuyên nghiệp gồm 17 người, trong đó có 1 PM, 1 Scrum Master, 2 BA, 1 Test Lead, 3 Tester, 4 BE, 4 FE, 2 Designer.
Dự án Easy 1 được Tinasoft sử dụng những công nghệ hiện đại nhất như: Nest Js, ReactJs, AWS, S3, Postgres DB, MQTT, K8S, Docker, ElasticSearch … với những tính năng nổi bật như:
Phần mềm quản lý công ty, chi nhánh, phòng ban, chức vụ, nhân sự
Quản Lý Luồng Đơn Hàng, tạo, giao-nhận, xử lý và chăm sóc khách hàng của công ty Tích hợp thống kê báo cáo dữ liệu nhân sự, đơn hàng
Quản lý các dịch vụ, gói dịch vụ trong công ty
Quản Lý Mua Bán Sản Phẩm Trong Công Ty, nhập xuất sản phẩm bằng Excel Quản Lý Xuất Nhập Kho
Với những tính năng ưu việt trên, doanh nghiệp sẽ giảm thiểu tối đa những chi phí trong khâu quản lý và thống kê, từ đó giúp doanh nghiệp tối ưu quy trình sản xuất và kinh doanh của mình.
Trang 11hành hoạt động kinh doanh hiệu quả Hệ thống này bao gồm quản lý hiệu suất doanh nghiệp, phần mềm giúp lập kế hoạch, lập ngân sách, dự đoán và báo cáo về kết quả tài chính của tổ chức.
Tại sao nên sử dụng hệ thống ERP cho Smart Corp của Tinasoft Việt Nam?
Quản lý dịch vụ khách hàng: Hệ thống cung cấp cho người quản lý các công cụ như thống kê, phân tích và thẩm định các vấn đề trong kinh doanh, đánh giá hiệu quả công việc của nhân viên Công nghệ hỗ trợ các chuyên gia bán hàng tìm kiếm, theo dõi và quản lý khách hàng thành công.
Quản lý cấu trúc công ty: Các tính năng phụ khác của quản lý cấu trúc nhóm bao gồm quản lý công ty, quản lý chi nhánh, công ty đối tác, quản lý khu vực và nhân viên quản lý theo vị trí và quyền hạn.
Quản trị nhân sự: Hệ thống còn hỗ trợ doanh nghiệp quản lý thông tin con người, cơ cấu vị trí, cấp bậc, quản lý lương, KPI, truyền thông nội bộ.
Quản lý bán hàng và tiếp thị: Quản lý chu trình bán hàng từ lâu đã là mối quan tâm lớn của các công ty, nhưng với hệ thống ERP cho doanh nghiệp thông minh của Tinasoft, doanh nghiệp sẽ không phải mất nhiều thời gian và tiền bạc để xử lý các hoạt động telesales, đơn hàng affiliate, sự kiện hay hoạt động tiếp thị Điều phối đơn hàng cho từng chi nhánh hoặc sự chậm trễ trong quá trình lắp đặt sản phẩm, vận chuyển hàng hóa hoặc dịch vụ khách hàng.
Kiểm soát hàng tồn kho: Người dùng có thể quản lý các yêu cầu xuất nhập hàng, quản lý sản phẩm, quản lý danh mục, thống kê, báo cáo bằng chương trình Từ đó, lãnh đạo công ty có thể nhận thức rõ hơn về tình hình và thay đổi số lượng nhập và tiêu thụ các mặt hàng để tránh thất thoát, lãng phí
Trang 12Tổ chức kế toán và tài chính: nó cũng cho phép các chủ doanh nghiệp quản lý vốn và dòng tiền, kế toán, chi phí, tài sản và nợ phải trả.
Dự án Easy 1 được Tinasoft triển khai dưới dạng mô hình Agile Scrum với đội ngũ nhân sự chuyên nghiệp gồm nhân sự (1 PM, 1 Scrum Master, 2 BA, 1 Test Lead, 3 Tester, 4 BE, 4 FE, 2 Designer)
Công nghệ: NestJs, ReactJs, AWS, S3, PostgresDB, MQTT, K8S, Docker, Tìm kiếm đàn hồi.
CHƯƠNG 2: QUÁ TRÌNH THỰC TẬP TẠI ĐƠN VỊ
2.1 Mô tả công việc được giao
2.1.1 Tổng quan về công việc được giao
Công việc chính: Học tập, tìm hiểu ngôn ngữ Dart, Flutter và xây dựng một ứng dụng trên thiết bị di động Androi
+ Xây dựng giao diện người dùng:
Sử dụng Flutter để xây dựng giao diện người dùng hấp dẫn và thân thiện trên nền tảng di động.
Tạo các màn hình, widget và các thành phần UI khác để cung cấp trải nghiệmngười dùng tốt nhất.
Trang 13Thời gian hoạt động
Từ ngày 02/01/2024 – 16/3/2024 theo lịch của nhà trường
Áp dụng kiến thức tìm hiểu được xây dựng các giao diện và chức năng trong dự án Xây dựng ứng dụng di động của công ty Tinasoft Việt Nam.
Hoàn thiện báo cáo.
2.2 Quy trình thực hiện
Nội dung và lộ trình thực tập tại Công ty Tinasoft Việt Nam
Trang 14Tuần 5 (từ 29/1 đến 2/2)Nghỉ tết theo lịch công Tuần 7 (từ 12/2 đến 16/2)Tìm hiểu Widgets tạo
giao diện như Button,
Tuần 8 (từ 19/2 đến 23/2)Tìm hiểu về quản lí trạng thái trong Flutter Tuần 10 (từ 4/3 đến 8/3)Thực hiện làm đề tài
được doanh nghiệp giao
Hoàn thành
Tuần 11 (từ 11/3 đến 15/3)Thực hiện làm đề tài được doanh nghiệp giao
Hoàn thành
CHƯƠNG 3: CƠ SỞ LÍ THUYẾT
Trang 15cho kinh doanh.
Trong bối cảnh 4.0 việc tìm hiểu và đặt hàng trực tuyến ngày càng trở thành xu hướng phổ biến, việc xây dựng một ứng dụng cho công ty sẽ giúp mở rộng phạm vi kinh doanh, quảng cáo và mang đến lợi ích cho người tiêu dùng cũng như công ty Với ứng dụng này khách hàng có thể tìm hiểu cũng như đặt hàng giao công phần mềm, AI, IOT,… bất cứ lúc nào, ở bất cứ đâu và trong mọi không gian Tôi tin rằng việc tạo ra một nền tảng trải nghiệm mua sắm độc đáo sẽ là chìa khóa để thu hút và giữ chân khách hàng.
Tôi hy vọng rằng việc xây dựng ứng dụng cho công ty sẽ mang lại những cơ hội kinh doanh và phát triển, đồng thời tạo ra một môi trường trực tuyến thuận tiện và hấp dẫn cho khách hàng Qua đó, tôi mong muốn được đóng góp vào sự phát triển của công ty Tinasoft Việt Nam và ngành công nghệ thông tin.
3.2 Mục tiêu nghiên cứu
Tôi sẽ nghiên cứu và tích hợp các thành phần có sẵn trong Flutter để tối ưu hóa giao diện người dùng và cải thiện trải nghiệm người dùng Tôi sẽ đánh giá hiệu quả và so sánh hiệu suất của các thành phần trong Flutter để chọn và sử dụng chúng một cách hiệu quả nhất Mục tiêu của tôi là phát triển một ứng dụng di động đơn giản, mạnh mẽ và linh hoạt Tôi mong muốn quản lý dữ liệu một cách hiệu quả, đảm bảo tính bảo mật cho thông tin người dùng và sản phẩm, cũng như tối ưu hóa quá trình giao tiếp giữa frontend và backend.
Ở phía giao diện người dùng, mục tiêu của tôi là tạo ra một ứng dụng di động thân thiện và tương tác, sử dụng Flutter để xây dựng một giao diện động, hiện đại và dễ sử dụng Tôi mong muốn cung cấp tính năng tìm kiếm thông minh, danh sách dịch vụ phẩm mượt mà để tối ưu hóa quá trình tìm hiểu công ty và đặt hàng những sản phẩm của công ty.
Ở phía công ty, mục tiêu của tôi là Tôi sẽ giúp các Công ty dễ dàng tìm hiểu và đáp ứng các yêu cầu của người có nhu cầu sử dụng dịch vụ để xây dựng một ứng dụng hiệu quả đúng yêu cầu Bên cạnh đó cũng là kênh quảng cáo giúp tăng doanh thu cho công ty cũng như tăng hiểu quả nhận diện thương hiệu
Mục tiêu nghiên cứu của tôi cũng bao gồm thiết kế một ứng dụng có khả năng mở rộng, đáp ứng nhanh chóng đến sự thay đổi trong thị trường và nhu cầu của người dùng Tôi muốn tạo ra một nền tảng linh hoạt, có khả năng tích hợp các tính năng mới và cập nhật các dịch vụ một cách thuận
Trang 16lợi Để hướng đến một mục tiêu lớn là đem lại lợi nhuận, uy tín cho công ty Tinasoft Việt Nam và tất cả các công ty sẽ ứng dụng vào thực tế.
Cuối cùng, mục tiêu của tôi là mang lại trải nghiệm mua sắm trực tuyến thú vị độc đáo và yên tâm vào dịch vụ cho người dùng, không chỉ là quá trình mua bán đơn thuần Tôi muốn giúp họ tận hưởng việc lựa chọn theo cách mới mẻ và sáng tạo.
3.3 Đối tượng và phạm vi nghiên cứu
Đối tượng nghiên cứu của tôi tập trung vào cả người dùng và nhà cung cấp dịch vụ trong lĩnh vực công nghệ thông tin Đối với tôi, như là một người yêu công nghệ, em có thể là một phần quan trọng trong nhóm người dùng mà chúng tôi đang nhắm đến Chúng tôi quan tâm đến nhu cầu và mong muốn cụ thể của tôi trong việc tìm kiếm một công ty gia công phần mềm, chuyển đổi số,…, đồng thời công ty Tinasoft Việt Nam có thể cung cấp một nền tảng để nhà cung cấp quảng cáo, quản lý đặt hàng dịch vụ của mình.
Về phía nhà cung cấp dịch vụ, chúng tôi muốn hỗ trợ các doanh nghiệp trong lĩnh vực điện thoại, cung cấp cho họ một nền tảng trực tuyến hiệu quả để quảng bá sản phẩm và mở rộng kinh doanh Chúng em hiểu rằng sự hài lòng của em là quan trọng đối với những người kinh doanh này, và vì vậy, mong muốn xây dựng một hệ thống mà em cảm thấy thoải mái và thuận tiện khi sử dụng.
CHƯƠNG 4: TỔNG QUAN KIẾN THỨC ĐÃ HỌC 4.1 Flutter
4.1.1 Flutter là gì?
Flutter là một bộ SDK đa nền tảng có thể hoạt động trên iOS và Android do Google phát triển được sử dụng để tạo ra các ứng dụng dành cho di động (native app).
Flutter gồm 2 thành phần quan trọng:
Một SDK (Software Development Kit): Một bộ sưu tập các công cụ sẽ giúp bạn phát triển các ứng dụng của mình.
Trang 17ngôn ngữ Java và Kotlin, trong khi iOS cung cấp một framework dựa trên ngôn ngữ Objective-C/Swift.
Vì vậy, chúng ta cần hai ngôn ngữ và framework khác nhau để phát triển ứng dụng cho cả hai hệ điều hành Ngày nay, để khắc phục sự phức tạp này, có một số framework đã được giới thiệu hỗ trợ cả hệ điều hành cùng với các ứng dụng dành cho máy tính để bản Những loại framework này được gọi là công cụ phát triển đa nền tảng
Framework phát triển đa nền tảng có khả năng viết một code và có thể triển khai trên nhiều nền tảng khác nhau (Android, iOS và Máy tính để bàn) Nó tiết kiệm rất nhiều thời gian và nỗ lực phát triển của các nhà phát triển.
Có một số công cụ có sẵn để phát triển đa nền tảng, bao gồm các công cụ dựa trên web Mỗi framework này có mức độ thành công khác nhau trong ngành công nghiệp di động Gần đây, một framework công tác mới đã được giới thiệu trong họ phát triển đa nền tảng có tên là Flutter được phát triển từ Google.
Flutter là một bộ công cụ giao diện người dùng để tạo các ứng dụng nhanh, đẹp, được biên dịch nguyên bản cho thiết bị di động, web và máy tính để bàn với một ngôn ngữ lập trình và cơ sở code duy nhất Nó là miễn phí và code nguồn mở, Ban đầu nó được phát triển từ Google và bây giờ được quản lý theo tiêu chuẩn ECMA Ứng dụng Flutter sử dụng ngôn ngữ lập trình Dart để tạo ứng dụng
Flutter chủ yếu được tối ưu hóa cho các ứng dụng di động 2D có thể chạy trên cả nền tảng Android và iOS Chúng ta cũng có thể sử dụng nó để xây dựng các ứng dụng đầy đủ tính năng, bao gồm máy ảnh, bộ nhớ, SDK bên thứ ba,
4.1.2 Các tính năng của Flutter
Flutter cung cấp các phương pháp dễ dàng và đơn giản để bắt đầu xây dựng các ứng dụng dành cho thiết bị di động và máy tính để bàn đẹp mắt với một bộ thiết kế material design và widget phong phú Ở đây, chúng ta sẽ thảo luận về các tỉnh năng chính của nó để phát triển framework di động.