Giới thiệu về doanh nghiệp
Cơ quan thực tập
- Tên cơ quan: CÔNG TY TNHH MTV CNTT NETBIZ
- Địa chỉ: Số 10 Bùi Công Trừng, phường Hòa Xuân, quận Cẩm Lệ, thành phố Đà Nẵng.
- Email: anh.netbiz@gmail.com
Giới thiệu chung
Công ty NetBiz là một đơn vị gia công phần mềm công nghệ thông tin đang phát triển mạnh mẽ, chuyên cung cấp các giải pháp di động, web và kỹ thuật số.
Mục tiêu hoạt động
NetBiz được thành lập với mục tiêu mang lại giải pháp hữu ích, giúp cải thiện chất lượng cuộc sống Công ty hướng đến việc tạo ra một môi trường làm việc thoải mái tại Việt Nam, nơi các nhân viên có thể phát huy tối đa khả năng sáng tạo và động lực Sau 8 năm phát triển, NetBiz Consulting tự tin vào chiến lược của mình, cam kết cung cấp sản phẩm phần mềm và dịch vụ công nghệ thông tin chất lượng cao với giá cả cạnh tranh, phục vụ nhu cầu thị trường trong nước và quốc tế.
Tổ chức hoạt động doanh nghiệp
Hình 1: Tổ chức hoạt động doanh nghiệp.
Lĩnh vực hoạt động
Công ty NetBiz hoạt động trong các lĩnh vực và dịch vụ chính như:
- MOBILE DEVELOPMENT: Tư vấn, thiết kế và phát triển các ứng dụng di động đa nền tảng và gốc cho nền tảng iOS và Android.
Thiết kế và phát triển web chuyên nghiệp nhằm tạo ra các trang web đẹp mắt, sử dụng các khuôn khổ đa dạng để đảm bảo trải nghiệm người dùng tối ưu trên mọi thiết bị.
- PRODUCT DESIGN & DEVELOPMENT: Thiết kế và phát triển các sản phẩm mới hoặc cải thiện các sản phẩm cũ từ các khác hàng trên mọi nền tảng.
Nghiên cứu Tổng quan
Mục đích nghiên cứu và thực hiện đề tài
Cổng thông tin trực tuyến giúp doanh nghiệp dễ dàng đăng tải thông tin và cung cấp các gói dịch vụ như Bonus, Cards, Coupons, Deals, Tickets, Events, và Raffles Người dùng có thể tìm kiếm, đặt mua và sử dụng các gói sản phẩm/dịch vụ của các doanh nghiệp một cách thuận tiện.
Phương pháp nghiên cứu
Để hoàn thành công việc các task ở công ty, em đã thực hiện các phương pháp sau:
- Phương pháp nghiên cứu hệ thống, phương pháp tư duy.
- Phương pháp phân tích để tìm ra cách giải quyết vấn đề.
- Phương pháp tin học hóa bằng công cụ lập trình để giải quyết vấn đề đã được phân tích và xây dựng giải pháp.
- Học hỏi kinh nghiệm từ các anh trong công ty, từ cách làm việc cho đến cách giải quyết vấn đề…
- Tìm hiểu cách làm việc nhóm ở công ty.
- Tìm hiểu và thích nghi với văn hóa công việc của công ty.
Phạm vi nghiên cứu
Nghiên cứu và thực hiện theo các task được giao ở công ty.
Nguồn số liệu và dữ liệu
Nguồn số liệu và tài liệu tham khảo trong dự án được công ty cung cấp Đồng thời kết hợp tham khảo trên Internet trong lúc làm dự án.
Nội dung nghiên cứu
Thực hiện các chức năng thực tế của công ty: Website trung gian cung cấp các dịch vụ của công ty dành cho khách hàng.
Công nghệ được phân công nghiên cứu:
- Ngôn ngữ lập trình PHP
- Cơ sở dữ liệu MySQL
Chi tiết đề tài
Các ngôn ngữ lập trình
HTML (Ngôn ngữ đánh dấu siêu văn bản) là công cụ chính để tạo ra các tài liệu có thể truy cập trên Internet Tài liệu HTML được xây dựng bằng cách sử dụng các thẻ và phần tử của ngôn ngữ này Các tệp HTML được lưu trữ trên máy chủ web với phần mở rộng ".html" hoặc ".htm", và trình duyệt sẽ đọc những tệp này để hiển thị chúng dưới dạng trang web.
Các trang HTML được gửi đi qua mạng internet theo giao thức HTTP
HTML không chỉ cho phép nhúng hình ảnh và âm thanh mà còn hỗ trợ tích hợp các kịch bản như Javascript để tạo hiệu ứng động cho trang web Để nâng cao hiệu quả trình bày, HTML có thể kết hợp với CSS.
CSS (Cascading Style Sheets) là ngôn ngữ quy định cách trình bày cho các tài liệu HTML, XHTML, XML, SVG và UML Nó xác định cách hiển thị các thẻ HTML thông qua việc thiết lập thuộc tính như font chữ, kích thước và màu sắc Với cấu trúc đơn giản và từ ngữ tiếng Anh, CSS có thể được viết trực tiếp trong mã HTML hoặc tham chiếu từ một file riêng biệt với đuôi ".css" Việc sử dụng CSS giúp mã HTML trở nên ngắn gọn hơn và cho phép tái sử dụng một file CSS cho nhiều website, tiết kiệm thời gian và công sức Tính kế thừa của CSS cũng giúp giảm số lượng dòng code cần thiết mà vẫn đáp ứng yêu cầu thiết kế.
3.1.3 Ngôn ngữ lập trình PHP.
PHP, viết tắt của Hypertext Preprocessor, là một ngôn ngữ lập trình kịch bản mã nguồn mở, chủ yếu dùng để phát triển ứng dụng cho máy chủ Với khả năng nhúng dễ dàng vào HTML, PHP được tối ưu hóa cho các ứng dụng web, mang lại tốc độ nhanh và cú pháp tương tự như C và Java Nhờ vào tính dễ học và thời gian phát triển sản phẩm ngắn, PHP đã nhanh chóng trở thành ngôn ngữ lập trình web phổ biến nhất trên thế giới.
3.1.4 Ngôn ngữ lập trình JavaScript.
JavaScript, hiện tại, là một ngôn ngữ lập trình thông dịch phát triển từ các ý niệm nguyên mẫu, được sử dụng rộng rãi cho cả trang web phía người dùng và phía máy chủ thông qua Node.js Được phát triển bởi Brendan Eich tại Netscape, ngôn ngữ này ban đầu mang tên Mocha, sau đó đổi thành LiveScript và cuối cùng là JavaScript Mặc dù có cú pháp tương tự như Java, JavaScript lại gần gũi hơn với ngôn ngữ Self Phần mở rộng phổ biến cho các tập tin mã nguồn JavaScript là js.
Cơ sở dữ liệu MSQL
MySQL là hệ quản trị cơ sở dữ liệu mã nguồn mở phổ biến nhất thế giới, được ưa chuộng bởi các nhà phát triển ứng dụng nhờ vào tốc độ cao, tính ổn định và dễ sử dụng Hệ thống này hoạt động trên nhiều hệ điều hành và cung cấp nhiều hàm tiện ích mạnh mẽ Với khả năng bảo mật tốt và hiệu suất vượt trội, MySQL là lựa chọn lý tưởng cho các ứng dụng truy cập cơ sở dữ liệu trên internet Người dùng có thể tải về MySQL miễn phí từ trang chủ, với nhiều phiên bản tương thích cho Windows, Linux và MacOS.
MySQL là một hệ quản trị cơ sở dữ liệu quan hệ nổi bật, sử dụng ngôn ngữ truy vấn có cấu trúc (SQL) để quản lý và truy xuất dữ liệu hiệu quả.
MySQL là một hệ quản trị cơ sở dữ liệu phổ biến, hỗ trợ nhiều ngôn ngữ lập trình như NodeJs, PHP và Perl Nó đóng vai trò quan trọng trong việc lưu trữ thông tin cho các trang web được phát triển bằng những ngôn ngữ này.
PHP Yii Framework
- Yii Framework là một mã nguồn mở, một Framework phát triển ứng dụng Web miễn phí được viết bằng PHP5.
- Yii cho phép tái sử dụng các thành phần trong ứng dụng Web để tăng tốc độ xây dựng ứng dụng của mình.
Yii là một framework lý tưởng cho việc phát triển các ứng dụng quy mô lớn, bao gồm cổng thông tin, diễn đàn, hệ thống quản lý nội dung (CMS), dự án thương mại điện tử và dịch vụ Web RESTful.
Yii Framework hiện có hai phiên bản chính: 1.1 và 2.0 Phiên bản 1.1 là phiên bản cũ và hiện đang trong chế độ bảo trì, trong khi phiên bản 2.0 được viết lại hoàn toàn với việc áp dụng các công nghệ và giao thức mới nhất như Composer, namespaces và traits Phiên bản 2.0 đại diện cho thế hệ hiện tại của Yii Framework và sẽ tiếp tục nhận được sự phát triển chính trong những năm tới.
3.3.2 Sử dụng Yii tốt nhất khi nào ?
Yii là một framework phát triển ứng dụng web linh hoạt, phù hợp cho việc xây dựng nhiều loại ứng dụng khác nhau Với thiết kế nhẹ và giải pháp cache tối ưu, Yii đặc biệt hiệu quả cho các ứng dụng web có lượng dữ liệu lớn, như web portal, diễn đàn, CMS và thương mại điện tử.
3.3.3 Yii có hiệu suất cao ?
Yii được thiết kế để cho phép phát triển và chỉnh sửa mã nguồn linh hoạt, đáp ứng mọi yêu cầu của người dùng Nó cung cấp hướng dẫn chi tiết giúp các nhà phát triển dễ dàng tạo ra các công cụ hữu ích, từ đó đóng góp vào danh sách tính năng phong phú của Yii Nổi bật với tính dễ sử dụng, hiệu suất cao và khả năng mở rộng, Yii bao gồm nhiều tính năng cần thiết cho ứng dụng web hiện đại như AJAX, kiến trúc MVC, DAO, ActiveRecord, kiểm soát truy cập, và hỗ trợ quốc tế hóa (I18N) cũng như nội địa hóa (l10n) Phiên bản 1.1 của Yii được trang bị thư viện mở rộng Zii, do các thành viên chủ chốt phát triển và duy trì, nhằm mở rộng thêm tính năng cho framework này.
3.3.4 Yii so sánh thế nào với các framework khác
Giống như hầu hết các PHP framework, Yii là một MVC framework
Yii nổi bật hơn các framework khác nhờ vào hiệu quả, tính năng phong phú và tài liệu hướng dẫn đầy đủ Được thiết kế tỉ mỉ từ đầu, Yii đáp ứng tốt nhu cầu phát triển ứng dụng Web nghiêm ngặt Khác với những framework khác, Yii không phải là sự kết hợp ngẫu nhiên của các dự án hay thư viện bên thứ ba, mà là kết quả từ kinh nghiệm phát triển ứng dụng Web lâu năm và sự phân tích sâu sắc, tận dụng những ưu điểm của các framework khác.
Kế thừa Yii kết hợp những ý tưởng và những kiến thức của các framework và ứng dụng lập trình web đi trước nó.
Yii framework không phải là một sản phẩm hoàn toàn mới, mà là sự kế thừa và học hỏi từ các mô hình khác nhau Cụ thể, Yii tham khảo mô hình ActiveRecord từ Ruby on Rails (ROR), tích hợp JQuery như một framework JavaScript sẵn có, và áp dụng thiết kế bộ lọc từ Symfony cùng kiến trúc plug-in của nó Ngoài ra, Yii cũng học hỏi thiết kế module và quy trình dịch ngôn ngữ từ Joomla Tất cả những yếu tố này giúp Yii trở thành một framework dễ sử dụng và thân thiện với người dùng.
Yii kết hợp các ý tưởng và kiến thức từ những framework và ứng dụng lập trình web trước đó, tạo nên một nền tảng mạnh mẽ Dưới đây là một số ứng dụng mà Yii đã học hỏi và phát triển từ.
Yii được phát triển dựa trên nền tảng của Prado, với nguồn cảm hứng chủ yếu từ các ý tưởng như lập trình dựa trên thành phần (component-based), mô hình lập trình hướng sự kiện (event-driven programming paradigm), các lớp trừu tượng hóa cơ sở dữ liệu và kiến trúc ứng dụng theo mô-đun.
Internationalization and localization are key features in web development frameworks Yii inherits conventions from Ruby on Rails (RoR) through its configuration, drawing on the ActiveRecord model It also integrates jQuery as a built-in JavaScript framework Additionally, Yii references Symfony's filter design and plugin architecture, while adopting Joomla's modular design and message translation scheme.
Yii không phải là một công nghệ mới lạ hay phức tạp, mà thực chất là sự tổng hợp và phát triển từ những kiến thức đã có, nhằm tạo ra một framework dễ sử dụng cho người dùng.
SVN Subversion
Subversion là một hệ thống kiểm soát phiên bản mã nguồn mở, giúp quản lý tập tin, thư mục và các thay đổi liên quan Hệ thống này cho phép người dùng phục hồi các phiên bản dữ liệu cũ và theo dõi lịch sử thay đổi của dữ liệu, được ví như một “cỗ máy thời gian” cho dữ liệu của bạn.
Subversion cho phép nhiều người dùng trên các máy tính khác nhau cùng chỉnh sửa và quản trị dữ liệu, thúc đẩy sự hợp tác hiệu quả Quá trình này diễn ra nhanh chóng mà không cần một đường đi đơn lẽ cho tất cả thay đổi, giúp tiết kiệm thời gian Hệ thống đánh dấu phiên bản đảm bảo chất lượng dữ liệu, cho phép hoàn tác các thay đổi không chính xác một cách dễ dàng.
Một số hệ thống kiểm soát phiên bản cũng hoạt động như hệ thống quản lý cấu hình phần mềm (SCM), phù hợp cho việc quản lý mã nguồn với nhiều tính năng hỗ trợ phát triển phần mềm Tuy nhiên, Subversion không phải là một hệ thống chuyên biệt cho việc này; nó có khả năng quản lý bất kỳ tập hợp tập tin nào, từ mã nguồn đến danh sách mua sắm hay video kỹ thuật số.
- Subversion được áp dụng cho các thư mục bao gồm cả tệp riêng lẻ.
- SVN có một mục tiêu chuẩn để thêm, xóa, sao chép hay đổi tên tập tin trên các thư mục.
- Thư mục và tệp được đăng ký theo thời gian, sẽ hỗ trợ người dùng xây dựng một lịch sử toàn diện.
- Giúp các nhà phát triển có thể thiết kế hoặc thay đổi đơn giản, nhanh chóng.
- Tệp nhị phân và văn bản được lưu trữ, quản lý theo cách tương thích.
- Các nhánh và thẻ được xây dựng hiệu quả.
- Sử dụng Subversion đơn giản.
Hình 2: SVN hỗ trợ rất tốt giao thức để kết nối giữa máy chủ và máy khách
- Subversion cung cấp chức năng để các thành viên trong nhóm có thể chỉnh sửa nội dung file một cách an toàn, đơn giản và nhanh chóng.
SVN là một giải pháp hiệu quả thay thế cho hệ thống quản lý phiên bản CVS cũ, khắc phục nhiều nhược điểm của nó Với khả năng quản lý mọi hệ thống phiên bản, SVN được xem là một hệ thống quản lý mã nguồn tập trung, mạnh mẽ, linh hoạt và hữu ích cho các dự án phát triển phần mềm.
SVN là một hệ thống quản lý phiên bản giúp theo dõi các thư mục và tập tin theo thời gian Nó hoạt động tương tự như một máy chủ file, cho phép người dùng tải xuống các tập tin một cách dễ dàng Đặc biệt, SVN ghi lại mọi thay đổi trên hệ thống file, bao gồm thông tin về người thực hiện thay đổi, thời gian thay đổi và nội dung đã được chỉnh sửa.
- SVN cho phép khôi phục lại những version cũ một cách nhanh chóng và chính xác Do đó, làm việc nhóm cũng an toàn và hiệu quả hơn.
- Máy chủ và máy khách có thể cùng chạy trên một SVN, có nhiệm vụ ghi lại lịch sử dự án.
SVN cung cấp khả năng kết nối hiệu quả giữa máy chủ và máy khách thông qua các giao thức khác nhau Sự hỗ trợ cho các giao thức này phụ thuộc vào cấu hình của máy chủ.
3.4.4 Nguyên lý hoạt động của SVN
Subversion ban đầu được phát triển với giao diện dòng lệnh, cho phép người dùng mở Terminal và nhập các lệnh văn bản để sử dụng Để SVN hoạt động hiệu quả, người dùng cần thiết lập nó dựa vào hai yếu tố chính.
- Máy chủ có tất cả phiên bản của tệp nguồn.
- Bản sao cục bộ của các tệp trên máy tính của người dùng.
Tệp tin làm việc trên máy tính người dùng là những tệp mà họ chỉnh sửa và cam kết thay đổi với máy chủ SVN Hệ thống SVN quản lý và ghi lại các chỉnh sửa, đồng thời tạo ra phiên bản mới cho mỗi thay đổi Mặc dù người dùng thường làm việc với phiên bản mới, họ vẫn có khả năng quay lại các phiên bản cũ khi cần thiết.
Triển khai xây dựng
Đối tượng sử dụng Website
Các doanh nghiệp, cửa hàng và tổ chức sự kiện có thể sử dụng website để tạo ra các dịch vụ như giảm giá, vòng quay trúng thưởng, voucher và mã sự kiện Ngoài ra, website cũng cho phép các doanh nghiệp quản lý hiệu quả các dịch vụ mà họ đã thiết lập.
Khách hàng có thể dễ dàng truy cập vào website để tìm kiếm và mua các dịch vụ mà họ quan tâm Đối với các dịch vụ offline, khách hàng có thể in mã, trong khi đó với các dịch vụ online, họ có thể quét mã để sử dụng.
Chức năng của website
- Doanh nghiệp cung cấp các dịch vụ của họ lên website, cho khách hàng có thể sử dụng dịch vụ của họ thông qua website.
- Website giúp doanh nghiệp quản lý được số lượng khách hàng sử dụng các dịch vụ của họ.
- Website cung cấp các dịch vụ thanh toán cho khách hàng khi sử dụng dịch vụ.
We help customers easily access essential services such as bonus cards, coupons, deals, event tickets, and raffles, ensuring a seamless experience and peace of mind regarding quality.
Giao diện Website
Hình 3 Giao diện phần Companies
- Các lĩnh vực mà các doanh nghiệp đăng ký, người dùng có thể chọn vào có thể hiển thị ra các nhóm công ty cùng lĩnh vực.
- Giao diện mà các dịch vụ được công ty đăng ký, người dùng có thể mua và sử dụng các dịch vụ này.
Hình 5 Giao diện Companies in Focus o Giao diện trang đăng ký, đăng nhập
Hình 6 Giao diện trang đăng ký cho khách hàng và doanh nghiệp
- Người dùng và doanh nghiệp có thể đăng ký tài khoản tại đây.
Hình 7 Giao diện trang đăng nhập
- Khách hàng và doanh nghiệp có thể đăng nhập tại đây. o Giao diện trang thông tin các doanh nghiệp cùng nhóm
Hình 8 Giao diện trang thông tin các doanh nghiệp cùng nhóm
- Tổng hợp các doanh nghiệp hoạt động cũng nhóm lĩnh vực.
- Thể hiện số lượng và chi tiết các dịch vụ của các doanh nghiệp này đã thêm.
Kết hợp các bộ lọc dữ liệu giúp người dùng dễ dàng tìm kiếm và lựa chọn các dịch vụ phù hợp với nhu cầu cá nhân Giao diện trang thông tin chi tiết cung cấp thống kê rõ ràng về các hoạt động dịch vụ của doanh nghiệp, mang lại trải nghiệm tốt hơn cho người sử dụng.
Hình 9 Giao diện trang thông tin chi tiết và thống kê các hoạt động dịch vụ của doanh nghiệp
- Trang hiển thị thông tin chi tiết về công ty: địa chỉ liên lạc, thời gian hoạt động của công ty các ngày trong tuần.
- Thông kê các đánh giá của người dùng về việc sử dụng dịch vụ.
- Thống kê số lượng người theo dõi các dịch vụ của công ty.
- Có thể chỉnh sửa thông tin như thêm ảnh, video …. o Giao diện chi tiết của một dịch vụ
Hình 10 Giao diện trang chi tiết dịch vụ
- Giao diện hiển thị thông tin chi tiết của các dịch vụ, ở đây khách hàng có thể mua các dịch vụ đó để sử dụng.
- Có bộ lọc để tìm kiếm các dịch vụ nhanh hơn.
- Có phần hiển thị map. o Giao diện thông tin của công ty
Hình 11 Giao diện thông tin của công ty
Hình 12 Giao diện thông tin phần địa chỉ
Hình 13 Giao diện phần các phương thức thanh toán của công ty
- Trang hiển thị thông tin chi tiết của công ty.
- Công ty có thể cập nhật lại các thông tin liên lạc, hình ảnh,…liên quan đến công ty.
- Có thể chỉnh sửa hoặc thêm các phương thức thanh toán.
- Xem các email phản hồi của người sử dụng gửi về. o Giao diện thống kê các dịch vụ của công ty
Hình 14 Giao diện thống kê những khách hàng đang theo dõi các dịch vụ của công ty
Hình 15 Giao diện chi tiết
- Đây là giao diện phần thống kê số lượng người sử dụng các dịch vụ của công ty.
- Công ty có thể liên lạc được với người đang sử dụng dịch vụ của họ.
Trong phần thống kê chi tiết, chúng tôi cung cấp thông tin về tổng số người sử dụng các dịch vụ của công ty, cũng như số lượng người dùng cho từng dịch vụ cụ thể Bên cạnh đó, giao diện cũng cho phép người dùng xem các phản hồi mà họ đã gửi về, giúp nâng cao trải nghiệm và cải thiện dịch vụ.
Hình 16 Giao diện xem các phản hồi
- Ở đây công ty các phản hồi của người sử dụng gửi về, đánh giá chất lượng dịch vụ của công ty.
- Công ty có thể phản hồi lại các bình luận đó. o Giao diện trang thống kê doanh thu của công ty
Hình 17 Giao diện thống kê doanh thu
- Trang thống kê doanh thu của doanh nghiệp. o Giao diện thống kê lượng truy cập các dịch vụ của công ty
Hình 18 Giao diện thống kê lượng truy cập o Giao diện các người sử dụng mà bạn theo dõi
Hình 19 Giao diện hiển thị các người sử dụng mà ban theo dõi
- Hiển thị danh sách các người sử dụng khác mà bạn theo dõi.
- Bạn thể tìm kiếm, liên lạc với họ bằng cách nhắn tin.