1. Trang chủ
  2. » Thể loại khác

BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường

34 62 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 đề Ứng Dụng Dự Báo Thời Tiết
Tác giả Nguyễn Minh Thắng, Trần Phước Tín, Phan Thanh Tùng, Phạm Văn Việt Tiến
Người hướng dẫn TS. Võ Văn Lường
Trường học Đại Học Công Nghệ Thông Tin Và Truyền Thông Việt - Hàn
Chuyên ngành Khoa Học Máy Tính
Thể loại báo cáo thực tập
Năm xuất bản 2020
Thành phố Đà Nẵng
Định dạng
Số trang 34
Dung lượng 10,05 MB

Cấu trúc

  • Chương 1 GIỚI THIỆU VỀ ĐƠN VỊ THỰC TẬP

    • 1.1 Giới thiệu địa điểm kiến tập

    • 1.2 Giới thiệu chung

    • 1.3 Các lĩnh vực hoạt động của công ty:

  • Chương 2 TỔNG QUAN DỰ ÁN

    • 2.1 Tên dự án:

    • 2.2 Sinh viên thực hiện:

    • 2.3 Ý tưởng đề tài:

    • 2.4 Mục tiêu của dự án:

    • 2.5 Phương pháp thực hiện:

  • Chương 3 NGHIÊN CỨU THIẾT KẾ

    • 3.1 Ngôn ngữ và công cụ lập trình được sử dụng:

      • 3.1.1 Nodejs:

        • 3.1.1.1 Nodejs là gì:

      • 3.1.2 Express Framework:

        • 3.1.2.1 Framework:

        • 3.1.2.2 Express Framework:

      • 3.1.3 Android Studio:

      • 3.1.4 Visual Studio Code (VS Code hay VSC):

      • 3.1.5 Java (Android):

      • 3.1.6 JS (JavaScript):

      • 3.1.7 Restful API:

      • 3.1.8 API Google map, Arcgis online:

        • 3.1.8.1 API Google map:

        • 3.1.8.2 API ArcGis online:

    • 3.2 Phân tích thiết kệ hệ thống website:

      • 3.2.1 Các actor và phân tích chức năng:

      • 3.2.2 Biểu đồ use case

    • 3.3 Cơ sở dữ liệu:

      • 3.3.1 Mô tả một số bảng chính của hệ thống:

        • 3.3.1.1 Bảng users:

        • 3.3.1.2 Bảng thông tin user:

        • 3.3.1.3 Bảng Posts:

        • 3.3.1.4 Bảng Story

      • 3.3.2 Biểu đồ cơ sở dữ liệu:

    • 3.4 Biểu đồ lớp:

    • 3.5 Biểu đồ hoạt động:

  • Chương 4 XÂY DỰNG ỨNG DỤNG

    • 4.1 Xây dựng restful API, cào dữ liệu thời tiết:

      • 4.1.1 Xây dựng resful API:

      • 4.1.2 Cào dữ liệu thời tiết:

    • 4.2 Xây dựng ứng dụng trên Android:

      • 4.2.1 Sử dung thư viện retrofit 2 android

      • 4.2.2 Sử dung API Google map, Arcgis online:

    • 4.3 Chương trình demo:

  • Chương 5 KẾT LUẬN

    • 5.1 Kết quả đạt được:

    • 5.2 Hạn chế và hướng phát triển:

  • TÀI LIỆU THAM KHẢO

Nội dung

GIỚI THIỆU VỀ ĐƠN VỊ THỰC TẬP

Giới thiệu địa điểm kiến tập

Tên công ty: Công Ty TNHH Pureative Địa chỉ: 398 Trưng Nữ Vương, Phường Hoà Thuận Đông, Quận Hải Châu, Thành phố Đà Nẵng

Người ĐDPL: Lê Thành Công

Lĩnh vực: Hoạt động dịch vụ công nghệ thông tin và dịch vụ khác liên quan đến máy vi tính

Giới thiệu chung

TNHH Pureative là một công ty phần mềm công nghệ, được thành lập bởi những cá nhân tâm huyết, giàu năng lực và kinh nghiệm chuyên môn Công ty hướng đến mục tiêu trở thành một trong những đơn vị hàng đầu tại Việt Nam và mở rộng tầm ảnh hưởng ra toàn cầu.

Công ty TNHH Pureative chuyên cung cấp giải pháp phần mềm quản lý cho các doanh nghiệp lớn, ngân hàng, trường đại học, bệnh viện và nhiều tổ chức khác Chúng tôi cũng phát triển các giải pháp kết nối cộng đồng trên nền tảng internet, bao gồm hệ thống website và các dịch vụ liên quan, cùng với các hệ thống trong lĩnh vực thương mại điện tử và chính phủ điện tử.

Công ty TNHH Pureative cam kết nghiên cứu và ứng dụng công nghệ tiên tiến vào đời sống, với mục tiêu nâng cao chất lượng cuộc sống cho cộng đồng.

TỔNG QUAN DỰ ÁN

Tên dự án

Ứng dụng dự báo thời tiết

Sinh viên thực hiện

4651 Bán buôn máy vi tính, thiết bị ngoại vi và phần mềm

4652 Bán buôn thiết bị và linh kiện điện tử, viễn thông

7410 Hoạt động thiết kế chuyên dụng

6201 Lập trình máy vi tính

6202 Tư vấn máy vi tính và quản trị hệ thống máy vi tính

6311 Xử lý dữ liệu, cho thuê và các hoạt động liên quan

4669 Bán buôn chuyên doanh khác chưa được phân vào đâu

7490 Hoạt động chuyên môn, khoa học và công nghệ khác chưa được phân vào đâu

4321 Lắp đặt hệ thống điện

 Phạm Văn Việt Tiến - 18IT

Ý tưởng đề tài

Hiện nay, việc ứng dụng công nghệ thông tin và tin học hóa là yếu tố quyết định cho hoạt động của chính phủ, tổ chức và doanh nghiệp Công nghệ này đóng vai trò quan trọng, giúp tạo ra những bước đột phá mạnh mẽ trong nhiều lĩnh vực.

Việc phát triển ứng dụng điện thoại đã trở thành một xu hướng phổ biến, phục vụ nhu cầu của tổ chức, công ty và cá nhân Người dùng có thể dễ dàng tải và cài đặt ứng dụng trong nhiều lĩnh vực như thời tiết, âm nhạc, video, mạng xã hội, giáo dục và nấu ăn Đối với doanh nghiệp, việc tạo ứng dụng trên điện thoại thông minh là rất quan trọng để phát triển, giúp truyền tải thông tin về sản phẩm và dịch vụ mới đến khách hàng một cách nhanh chóng và hiệu quả, tránh những phiền phức của giao tiếp truyền thống.

Với tình hình hiện tại, việc xem dự báo thời tiết trên truyền hình ở Việt Nam gặp nhiều hạn chế Tuy nhiên, nhờ vào sự phát triển của công nghệ, việc tạo ra một ứng dụng thời tiết trên hệ điều hành Android đã trở nên dễ dàng và tiện lợi cho người dùng Ứng dụng này cho phép người dùng theo dõi thời tiết mọi lúc, mọi nơi, miễn là có kết nối internet.

Mục tiêu của dự án

Tạo một ứng dụng thời tiết đơn giản với giao diện đẹp và dễ sử dụng, giúp người dùng cập nhật thông tin thời tiết hàng ngày và dự báo cho những ngày tiếp theo Ứng dụng còn cho phép chia sẻ hình ảnh thời tiết tại vị trí hiện tại với mọi người, mang lại trải nghiệm tiện lợi và thú vị.

Phương pháp thực hiện

Khám phá các ứng dụng dự báo thời tiết phổ biến trên điện thoại và tìm hiểu về API dự báo thời tiết từ các trang web như OpenWeatherMap và Windy Phân tích giao diện và các chức năng nổi bật của những ứng dụng này Dựa vào những chức năng đã được lên kế hoạch từ ban đầu, tổng hợp và đưa ra yêu cầu hoàn chỉnh cho ứng dụng dự báo thời tiết.

Tìm hiểu API Google Map, Arcgis online để hiển thị bản đồ, hiển thị basic layer thời tiết

Sử dụng các công cụ như Visual Studio Code, Nodejs, Express Framework,

Mongodb để tạo một web server back-end kiểm thử trên localhost Sau khi hoàn chỉnh sẽ đưa lên internet.

Utilizing Android Studio software enables the development of fully functional applications that operate on mobile devices, leveraging APIs retrieved from a back-end web server hosted online.

NGHIÊN CỨU THIẾT KẾ

Ngôn ngữ và công cụ lập trình được sử dụng

Node.js là một nền tảng phần mềm lý tưởng để phát triển các ứng dụng internet mở rộng, đặc biệt là máy chủ web Được viết bằng JavaScript, Node.js sử dụng kỹ thuật điều khiển theo sự kiện và nhập/xuất không đồng bộ nhằm tối ưu hóa hiệu suất và khả năng mở rộng Nền tảng này tích hợp V8 JavaScript engine của Google, libUV và một số thư viện khác, mang lại hiệu quả cao trong việc xử lý các tác vụ mạng.

Framework là một thư viện các lớp hoàn chỉnh, cung cấp bộ khung cho việc phát triển phần mềm ứng dụng Nó giống như các “vật liệu” trong từng lĩnh vực cho lập trình viên, giúp tiết kiệm thời gian thiết kế Nhờ đó, lập trình viên chỉ cần tìm hiểu và khai thác các vật liệu có sẵn để kết hợp chúng lại, tạo ra sản phẩm cuối cùng.

Express là một framework mạnh mẽ dành cho Node.js, cung cấp nhiều tính năng hữu ích cho phát triển web và ứng dụng di động Nó hỗ trợ các phương thức HTTP và middleware, giúp tạo ra API dễ sử dụng và hiệu quả.

Android Studio là phần mềm cung cấp bộ công cụ phát triển ứng dụng cho thiết bị sử dụng hệ điều hành Android, bao gồm smartphone và tablet Phần mềm này tích hợp trình biên tập mã, công cụ gỡ lỗi, công cụ hiệu suất và hệ thống xây dựng/phân phối, cùng với trình giả lập để mô phỏng môi trường thiết bị Nhờ đó, lập trình viên có thể nhanh chóng phát triển ứng dụng từ đơn giản đến phức tạp.

3.1.4 Visual Studio Code (VS Code hay VSC):

Là một trình biên tập lập trình code miễn phí dành cho Windows, Linux và macOS,

Visual Studio Code được phát triển bởi Microsoft Nó được xem là một sự kết hợp hoàn hảo giữa IDE và Code Editor.

Visual Studio Code là một công cụ lập trình mạnh mẽ với chức năng debug tích hợp, hỗ trợ Git, và tính năng tô màu cú pháp Nó cung cấp khả năng tự hoàn thành mã thông minh, snippets, cùng với cải tiến mã nguồn Đặc biệt, người dùng có thể tùy chỉnh giao diện, phím tắt và nhiều tùy chọn khác để phù hợp với nhu cầu cá nhân.

Java là ngôn ngữ chính thức phát triển ứng dụng Android, được Google hỗ trợ mạnh mẽ nhất Hầu hết các ứng dụng trên Play Store được xây dựng bằng Java, và nó là nền tảng cơ bản cho tất cả ứng dụng trong hệ điều hành Android của Google.

JavaScript là một ngôn ngữ lập trình phổ biến cho việc phát triển website, được sử dụng cho cả giao diện người dùng và phía máy chủ thông qua Node.js Ngôn ngữ này thường được nhúng trực tiếp vào trang web hoặc tham chiếu qua file js riêng biệt Là ngôn ngữ phía client, JavaScript cho phép script được tải về máy của người dùng và xử lý tại đó, thay vì phải xử lý trên server trước khi gửi kết quả đến khách truy cập.

RESTful API là một tiêu chuẩn dùng trong việc thiết kế API cho các ứng dụng web

Dịch vụ thiết kế web nhằm hỗ trợ quản lý các tài nguyên hệ thống như tệp văn bản, hình ảnh, âm thanh, video và dữ liệu động Nó tập trung vào việc định dạng và truyền tải các trạng thái tài nguyên qua giao thức HTTP.

3.1.8 API Google map, Arcgis online:

Phân tích thiết kệ hệ thống website

3.2.1 Các actor và phân tích chức năng:

Các actor và chức năng:

 Đăng nhập bằng quyền admin.

 Xem, sửa , xóa thông tin người dùng.

 Xem, sửa , xóa các bài viết, story

 Nhận thông báo báo cáo bài viết của người dùng

 Nhận và trả lời liên hệ với người dùng

 Tạo tài khoàn, đăng nhập.

 Xem thông tin thời tiết theo vùng, vị trí hiện tại

 Xem thời tiết chi tiết bản đồ vùng tại TP Đà Nẵng

 Xem bản đồ nhiệt, lương mưa, mây, v.v

 Xem hiểu đồ nhiệt độ theo ngày, giờ

 Tạo bài viết, story mới

 Chỉnh sửa bài viết, story

 Chỉnh sửa thông tin trang cá nhân (hình ảnh đại diện, mật khẩu, email….).

Hình 3-1 Sơ đồ Use-case mô tả chức năng chính của hệ thống

Hình 3-2 Sơ đồ use-case mô tả các chứng năng chi tiết trong trang homde

Hình 3-3 Sơ đồ use-case mô tả chi tiết chức năng trang thông báo

Hình 3-4 Biểu đồ use case trang bản đồ

Cơ sở dữ liệu

3.3.1 Mô tả một số bảng chính của hệ thống:

UserName String Tên đăng nhập

Email String Email của người dùng

Password String Mật khẩu đăng nhập()

Bang 3-1 Cấu trúc bảng Users

ID_User ObjectID Tên đăng nhập

First_Name String Họ và tên lót

Last_Name String Tên người dùng

Address String Địa chỉ hiện tại người dùng

Phone String Số điện thaoij

Date_Of_Birth Date Ngày sinh

Bang 3-2 Cấu trúc bảng thông tin user

ID_User ObjectID Id user

Text String Nội dung bài viết

File Array[Strinhg] Hình ảnh, video

Like Int Số lượt thích

Comment Int Số lượt bình luận

Level Int Chế độ xem của bài viết

Bang 3-3 Cấu trúc bảng Posts

ID_User ObjectID Id user

Text String Nội dung story

File Array[Strinhg] Hình ảnh, video

Like Int Số lượt thích

Bang 3-4 Cấu trúc bảng Story

3.3.2 Biểu đồ cơ sở dữ liệu:

Hình 3-5 Biểu đồ cơ sở dữ liệu

Biểu đồ lớp

Biểu đồ hoạt động

 Biểu đồ hoạt động đăng nhập:

Hình 3-7 Biểu đồ hoạt động đăng nhập

 Biểu đồ hoạt động đỗi mật khẩu:

Hình 3-8 Biểu đồ hoạt động đổi mật khẩu

 Biểu đồ hoạt động sửa thông tin cá nhân:

Hình 3-9 Biểu đồ hoạt động sửa thông tin cá nhân

 Biểu đồ hoạt động đăng bài mới

Hình 3-10 Biểu đồ hoạt động đăng bài

 Biểu đồ hoạt động đăng stories:

Hình 3-11 Biểu đồ hoạt động đăng stories

 Biểu đồ hoạt động đăng ký tài khoảng:

Hình 3-12 Biểu đồ hoạt động đăng ký tài khoảng

XÂY DỰNG ỨNG DỤNG

Xây dựng restful API, cào dữ liệu thời tiết

 Đoạn code lấy dữ liệu:

Hình 4-13 Restful API – Code lấy dữ liệu

Hình 4-14 Restful API – Dữ liệu nhận được

4.1.2 Cào dữ liệu thời tiết: Ở trong dự án này, em sử dụng API của trang web openweathermap.org có thể trả về thông tin thời tiết hiện tại, hoặc là trong vòng 5 ngày tới với chu kì 3 giờ / 1 kết quả, hoặc là trong vòng 24 giờ tiếp theo Có thể cung cấp thông tin về địa điểm muốn xem kết quả thời tiết bằng cách cung cấp vị trí kinh độ và vĩ độ, hoặc theo tên thành phố, quốc gia, hoặc theo mã vùng của thành phố đó,…

Kết quả trả về có thể ở định dạng JSON hoặc XML với các thông tin như:

− Vị trí địa lí (Kinh độ – vĩ độ)

− Thời tiết hiện tại (Kèm mô tả)

− Nhiệt độ (Lớn nhất, thấp nhất và cảm giác nhiệt độ)

Dữ liệu lượng mưa dạng JSON:

Hình 4-15 Dữ liệu lượng mưa dạng JSON

Một số hàm cào dữ liệu phía Server :

Hình 4-16 Cào dữ liệu thời tiết ở server

Xây dựng ứng dụng trên Android

4.2.1 Sử dung thư viện retrofit 2 android

 Cài đặt Retrofit và Gson cho dự án (project) android:

 Đưa các implementation sau vào file build.gradle (app) của project:

 Các implementation trên bao gồm:

 Lớp (Class) này hổ trợ kết nối đến serve và thực hiện các yêu cầu restful api từ app đến web services.

 Tạo các model nhận,xử lí và lưu trữ các thông tin trả về

Api Login sử dụng mô hình LoginModel để gửi email và mật khẩu đăng nhập Nếu quá trình đăng nhập thành công, hệ thống sẽ trả về token, và token này sẽ được lưu trữ trong mô hình LoginResponse.

 Tạo đối tượng Retrofit (Retrofit client):

4.2.2 Sử dung API Google map, Arcgis online:

Trong dự án này, tôi đã sử dụng API Google Maps và ArcGIS Online để hiển thị đa dạng các loại bản đồ, đồng thời kết hợp với lớp cơ bản của khu vực thành phố Đà Nẵng.

Hình 4-17 Google map và Arcgis map

Sử dụng Api google map thêm basic layer khu vực Đà Nẵng:

Sử dụng Tile Overlays của Google map để thêm các biểu đồ nhiệt, lượng mưa từ trang openweathermap.org :

Chương trình demo

Màng hình Splash, đăng nhập, đăng ký:

Hình 4-18 Màng hình splash, đăng nhập, đăng ký

Màng hình trang bản đồ

Hình 4-19 Màng hình trang bản đồ - 1

Hình 4-20 Màng hình trang bản đồ - 2

Màng hình trang bài viết

Hình 4-21 Màng hình trang bài viết

Màng hình trang dự báo thời tiết vị trí hiện tại

Hình 4-22 Màng hình trang thời tiết vị trí hiện tại

Ngày đăng: 26/12/2021, 23:36

HÌNH ẢNH LIÊN QUAN

Hình 3-1 Sơ đồ Use-case mô tả chức năng chính của hệ thống - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 3 1 Sơ đồ Use-case mô tả chức năng chính của hệ thống (Trang 16)
Hình 3-3 Sơ đồ use-case mô tả chi tiết chức năng trang thông báo - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 3 3 Sơ đồ use-case mô tả chi tiết chức năng trang thông báo (Trang 17)
Hình 3-2 Sơ đồ use-case mô tả các chứng năng chi tiết trong trang homde - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 3 2 Sơ đồ use-case mô tả các chứng năng chi tiết trong trang homde (Trang 17)
Hình 3-4 Biểu đồ use case trang bản đồ - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 3 4 Biểu đồ use case trang bản đồ (Trang 18)
Hình 3-5 Biểu đồ cơ sở dữ liệu - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 3 5 Biểu đồ cơ sở dữ liệu (Trang 20)
Hình 3-7 Biểu đồ hoạt động đăng nhập - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 3 7 Biểu đồ hoạt động đăng nhập (Trang 21)
Hình 3-6 Biểu đồ lớp - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 3 6 Biểu đồ lớp (Trang 21)
Hình 3-9 Biểu đồ hoạt động sửa thông tin cá nhân - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 3 9 Biểu đồ hoạt động sửa thông tin cá nhân (Trang 22)
Hình 3-8 Biểu đồ hoạt động đổi mật khẩu - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 3 8 Biểu đồ hoạt động đổi mật khẩu (Trang 22)
Hình 3-10 Biểu đồ hoạt động đăng bài - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 3 10 Biểu đồ hoạt động đăng bài (Trang 22)
Hình 3-11 Biểu đồ hoạt động đăng stories - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 3 11 Biểu đồ hoạt động đăng stories (Trang 23)
Hình 4-13 Restful API – Code lấy dữ liệu - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 4 13 Restful API – Code lấy dữ liệu (Trang 24)
Hình 4-17 Google map và Arcgis map - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 4 17 Google map và Arcgis map (Trang 28)
Hình 4-18 Màng hình splash, đăng nhập, đăng ký - BÁO CÁO THỰC TẬP DOANH NGHIỆP ĐỀ TÀI ỨNG DỤNG DỰ BÁO THỜI TIẾT Giảng Viên Hướng Dẫn: TS Võ Văn Lường
Hình 4 18 Màng hình splash, đăng nhập, đăng ký (Trang 29)

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w