TỔNG QUAN VỀ CƠ SỞ THỰC TẬP
Giới thiệu chung
1.1.1.Thông tin về công ty
- Tên doanh nghiệp : CÔNG TY CỔ PHẨN CÔNG NGHỆ VÀ TRUYỀN THÔNG TCOM
- Tình trạng hoạt động : Đang hoạt động (đã được cấp GCN ĐKT)
- Nơi đăng ký quản lý : Chi cục thuế Quận Hoàng Mai
- Địa chỉ : Số 26B/92, tổ 11, Phường Hoàng Văn Thụ,Quận Hoàng Mai, Hà Nội
- Đại diện pháp luật : Đinh Quốc Cường
- Giám đôc : Đinh Quốc Cường
- Trụ sở chính : Số 26B/92,Tổ 11 , phường Hoàng Văn Thụ, Hoàng Mai, Hà Nội, Việt Nam
- Văn phòng Hà Nội : Tầng 3 tòa nhà văn phòng Fafim A, số 19 Nguyễn Trãi, Phường Khương Trung, Quận Thanh Xuân, Hà Nội
- Văn phòng HCM : Tầng 2 Tòa nhà số 102 Nguyễn Đình Chính, Phường 15, Quận Phú Nhuận, TP Hồ Chí Minh
TCOM là công ty công nghệ, thành lập năm 2012, bởi đội ngũ kỹ sư IT có tài năng, nhiệt huyết, đam mê, sáng tạo, tốt nghiệp từ những trường đại học hàng đầu Việt Nam.
Bảng 1 Lộ trình phát triển công ty
2018 80 nhân sự, thị trường Nhật Bản,
2019 Đẩy mạnh nghiên cứu công nghệ, quy trình
2020 Tiếp cận thêm các thị trường nước ngoài
2021 Thành lập thêm công ty con Tsoft, có product eyefire
2022 Ra mắt ví điện tử RICE Wallet
2023 Thành lập TCOM Global, tiếp cận thị trường tiếng anh
Tạo ra các sản phẩm và giải pháp công nghệ chất lượng, thúc đẩy quá trình chuyển đổi số toàn diện của xã hội.
Trở thành tập đoàn công nghệ đa lĩnh vực hàng đầu Việt Nam.
Sản phẩm và dịch vụ
EYEFIRE School, giải pháp trường học thông minh, tập trung vào việc nâng cao chất lượng quản lý học sinh thông qua nhận diện, điểm danh, giám sát dựa trên công nghệ nhận diện khuôn mặt Đồng thời đảm bảo sự thông suốt và tức thời về thông tin giữa nhà trường và phụ huynh thông qua sổ liên lạc điện tử
Các tính năng nổi bật:
- Điểm danh công nghệ nhận diện khuôn mặt Điểm danh học sinh nhanh chóng, chính xác nhờ công nghệ nhận diện khuôn mặt, thông qua thiết bị điểm danh, camera, hoặc điện thoại.
Nhắn tin trao đổi trực tiếp ngay trong ứng dụng, hoàn toàn miễn phí, giữa giáo viên, phụ huynh và quản lý các cấp Chia sẻ hình ảnh, video, gửi nhận file được cá nhân hóa.
- Sổ liên lạc điện tử
Tương tác liên tục, nhất quán, tức thời giữa nhà trường, giáo viên và phụ huynh Phản ánh thông tin của học sinh kịp thời.
Như một mạng xã hội nội bộ của trường, ở đó phụ huynh, giáo viên, cán bộ quản lý đều có thể tham gia tương tác và nhận thông tin.
Quản lý, theo dõi lịch trình đưa đón, tham quan, dã ngoại dễ dàng và chính xác, đảm bảo an toàn cho học sinh trong suốt chuyến đi Giáo viên, nhà trường có đầy đủ công cụ giám sát, điểm danh Phụ huynh được thông báo liên tục
SkyLive là ứng dụng livestream chuyên nghiệp, cho phép người dùng sáng tạo các chương trình live độc đáo, có kịch bản, phát trực tiếp qua internet các nền tảng mạng xã hội như Facebook, Youtube, Twitter để bán hàng, quảng bá sản phẩm, live các buổi nói chuyện, các sự kiện tiếp cận khán giả khắp mọi nơi. Các tính năng nổi bật:
- Live thường/live bảo mật cho đa kênh, đa nền tảng cùng lúc
- Tạo kịch bản live độc đáo với các mẫu sáng tạo (Multi-Views, Templates)
- Tạo và hiển thị sản phẩm khi live
- Thêm khung hình, sticker, gif
- Chuyển cảnh linh hoạt khi live
- Làm mịn da, hiệu chỉnh màu sắc, thêm hiệu ứng hình ảnh
- Thay đổi bối cảnh livestream với tính năng xóa phông nền chuyên nghiệp
- Vừa live vừa xem bình luận
RICE Wallet là ví phi tập trung cho phép người dùng lưu trữ, quản lý tài sản và tối ưu lợi nhuận một cách an toàn thông qua ứng dụng được thiết tối ưu về giao diện và trải nghiệm người dùng.
Các tính năng nổi bật:
- Multi chain: Hỗ trợ nhiều chain khác nhau: Ethereum, BNB Smart Chain, Polygon, Avalanche, Arbitrum, Fantom.
- Quản lý tài sản: quản lý token trong ví của user, theo dõi lịch sử giao dịch của từng token trong ví.
- Quy đổi tài sản: Cho phép người dùng có thể thực hiện giao dịch tokens với giá tốt nhất trên thị trường và có mức trượt giá thấp.
- Thông tin thị trường: Hỗ trợ hơn 4000 tokens, theo dõi realtime biến động giá và thông tin chi tiết từng token.
- DApp Browser: Kho DApp tích hợp hơn 1500 DApp, hỗ trợ kết nối người dùng đến với các DApp trên nhiều blockchain khác nhau một cách thuận tiện và dễ dàng
1.2.2.1.Web Development Đội ngũ nhân sự với kinh nghiệm nhiều năm tư vấn, thiết kế, phát triển các sản phẩm trên nền tảng web, chúng tôi tự tin đáp ứng các nhu cầu phát triển hệ thống web của doanh nghiệp, tổ chức.
Với đầy đủ các giải pháp từ client đến server, chúng tôi tự tin trong việc thiết kế, phát triển, tối ưu các ứng dụng mobile trên nền tảng IOS và Android.
Tư vấn giải pháp, phát triển các hệ thống xử lý, quản lý, phân phối video/live video với hiệu năng cao, chịu tải lớn, đáp ứng hàng triệu người dùng.
Tư vấn, phát triển các hệ thống tương tác thời gian thực đa nền tảng với công nghệ mới và mạnh mẽ.
Phát triển các giải pháp trí tuệ nhân tạo, dựa trên công nghệ nhận diện khuôn mặt, nhận diện đối tượng, vật thể.
1.2.2.6.Blockchain Đội ngũ TCOM với nhiều chuyên gia trong lĩnh vực Blockchain, đáp ứng các nhu cầu phát triển sản phẩm, ứng dụng cho doanh nghiệp của bạn.
1.2.2.7.UX/UI design Đội ngũ designer của TCOM có nhiều năm kinh nghiệm trong tư vấn, thiết kế UI/UX sản phẩm phần mềm.
1.2.2.8.QA Testting Đội ngũ QA/QC có nhiều năm kinh nghiệm trong kiểm thử và đảm bảo chất lượng các dự án phần mềm, với quy trình kiểm định chuyên nghiệp.
Công nghệ và chất lượng
Công ty hướng đến mục tiêu trở thành một công ty công nghệ đa nền tảng ở quy mô trên toàn cầu nên sử dụng công nghệ và ngôn ngữ rất đa dạng.
TCOM luôn có các dự án, các bài toán công nghệ lớn Và TCOM luôn tìm kiếm những người tài năng, đam mê, nhiệt huyết với công nghệ, để cùng tạo nên những giá trị tuyệt vời.
Hình 1 Các công nghệ nổi bật của TCOM
Hình 2.Các ngôn ngữ được sử dụng
Hình 3 Các dự án nổi bật
Văn hóa doanh nghiệp
Đảm bảo sức khoẻ thể chất và tỉnh thần của nhân viên; tạo ra những cơ hội học hỏi và thách thức để nhân viên phát triển là những mục tiêu lớn nằm trong tham vọng phát triển của công ty dành cho những nhân viên khi tham gia tập thể TCOM.
Với sự đổi mới môi trường làm việc, TCOM đã thu được những kết quả rất tích cực: hiệu quả lao động của nhân viên được tăng cao, việc làm overtime (quá giờ) cũng giảm xuống một cách đáng kể, nhân viên có nhiều thời gian hơn dành cho bản thân, gia đình của mình Chính điêu này đã giúp các khách hàng, đối tác có những đánh giá tích cực khi làm việc cùng TCOM cũng như tạo được lòng tin của các nhân viên làm việc tại đây.
Quy định về trang phục văn phòng mới sẽ được áp dụng đối với toàn thể CBNV, sinh viên thực tập và các đơn vị thành viên trực thuộc Nội dung cụ thể như sau:
Trang phục, đầu tóc phải sạch sẽ, gọn gàng, lịch sự.
CBNV không được phép mặc áo sát nách; quần lửng (là quần có gấu cao hơn mắt cá chân từ 20cm trở lên); quần, áo, váy được may bằng ren mỏng; quần áo váy nhăn nhúm, không được là ủi; váy quá ngắn (váy có gấu cao hơn đầu gối từ 20 cm trở lên).
Phải đi giày hoặc dép quai hậu (sandal), không được phép đi dép lê, chân trần.
Đối với quần jean, CBNV/ Học viên chỉ được phép mặc quần jean một màu, không bị mài bạc, rách, thêu họa tiết hoặc chắp vá.
Đối với áo phông, CBNV chỉ được phép mặc áo phông có cổ (polo shirt) không in chữ/ họa tiết gây phản cảm (hình thù kỳ dị, ngôn ngữ không phù hợp với thuần phong mỹ tục,…).
Đối với nhân viên lễ tân, công ty sẽ cấp phát đồng phục Nhân viên lễ tân phải mặc đồng phục trong thời gian thực hiện nhiệm vụ mà Công ty giao.
Quy tắc ứng xử trong công ty: Đảm bảo môi trường làm việc: an toàn, thuận lợi; tích cực, đổi mới; tuân thủ pháp luật; công bằng, luôn tôn trọng quyền riêng tư của CBNV Quy tắc cũng yêu cầu mỗi CBNV có ý thức bảo vệ tài sản công ty; bảo mật thông tin; không thực hiện các hành vi nội gián.
Quy tắc ứng xử với bên ngoài: Đối với khách hàng, nhà cung cấp: Công ty cung cấp sản phẩm, dịch vụ đúng hạn và chất lượng; việc lựa chọn nhà cung cấp được thực hiện trên nhu cầu thực tế, hợp lý và đặt lợi ích của Công ty lên cao nhất.
QUÁ TRÌNH THỰC TẬP TẠI ĐƠN VỊ
Nhiệm vụ được giao
Bảng 2 Lộ trình phát triển công ty
11/01/2023 - 12/01/2023 Tìm hiểu về nội quy, cơ chế, văn hóa của công ty.
12/01/2023 – 18/01/2023 Củng cố các kỹ năng của một Nodejs
Lập trình hướng đối tượng
Giao thức mạng chuyên sâu
Cấu trúc dữ liệu và giải thuật
18/1/2023 – 25/1/2023 Viết chức năng chuyển trang tin tức của website giới thiệu công ty thành đa ngôn ngữ
25/1/2023 – 1/2/2023 Fix một số bug nhỏ liên quan đến trang web của công ty
1/2/2023 – 8/2/2023 Fix một số bug nhỏ liên quan đến trang web của công ty 8/2/2023 – 15/2/2023 Viết thêm chức năng hoàn tiền khi khách mua sắm trên apps.
15/2/2023 –22/3/2023 Thêm chức năng mua sắm voucher bằng crypto 22/3/2023-1/3/2023 Thêm chức năng mua sắm voucher bằng crypto
Giải pháp thực hiện
Nghiên cứu các tài liệu được cung cấp về công ty để tìm hiểu cũng như làm quen với văn hóa và phong cách của công ty.
Tự tìm tỏi học hỏi các kiến thức liên quan đến công việc thông qua một số trang web, youtube, tài liệu doc,…
Tích cực trao đổi và giao lưu với mọi người xung quanh, chủ động không ngại hỏi
Tham gia học hỏi, làm việc một cách nghiêm túc, tích cực phát biểu xây dựng khi vào họp, chú ý lắng nghe các thông tin, keyword quan trọng để làm việc một cách hiệu quả
Bảng 3.Kế hoạch thực hiện
Thời gian Nội Dung Kế hoạch thực hiện
11/01/2023 - 12/01/2023 Tìm hiểu về nội quy, cơ chế, văn hóa của công ty.
Nghiên cứu tài liệu, thông tin được giao, tìm hiểu bằng cách hỏi đồng nghiệp.
12/01/2023-18/01/2023 Củng cố các kỹ năng của một Nodejs Developer.
Lập trình hướng đối tượng
Chủ động tìm kiến thức trên web,youtube, đọc tài liệu doc, hỏi các anh,chị. giải thuật
18/1/2023 – 25/1/2023 Viết chức năng chuyển trang tin tức của website giới thiệu công ty thành đa ngôn ngữ
Có thêm một bảng ngôn ngữ sẽ chứa thông tin của các ngôn ngữ được sử dụng Mỗi bài post sẽ có language_id là khóa phụ ánh xạ qua id của bảng ngôn ngữ.
25/1/2023 – 1/2/2023 Fix một số bug nhỏ liên quan đến trang web của công ty
1/2/2023 – 8/2/2023 Fix một số bug nhỏ liên quan đến trang web của công ty
8/2/2023 – 15/2/2023 Viết thêm chức năng hoàn tiền khi khách mua sắm trên apps.
Tạo ra api đưa ra các sản phẩm dựa trên brand, mỗi brand sẽ có trường cashback là giá trị % hoàn tiền của sản phẩm.
15/2/2023 –22/3/2023 Thêm chức năng mua Viết api list ra cái sắm voucher bằng crypto voucher dựa trên brand, người dùng sẽ truyền lên địa chỉ ví, địa chỉ thiết bị và token_address từ đó sinh ra tiền tương ứng và thực hiện thanh toán.
22/3/2023-1/3/2023 Thêm chức năng mua sắm voucher bằng crypto
Bổ sung api khi khách hàng thêm,xóa sản phẩm, chỉnh sửa bảng order.
- Nắm được các thông tin, văn hóa làm việc của công ty
- Làm quen được với anh chị đồng nghiệp, hòa nhập được vào môi trường và trở thành một phần của công ty.
- Nắm được quy trình làm việc và hiểu hơn về vị trí, nghiệp vụ của bản thân.
- Bổ sung lại các kiến thức về Nodejs, nắm được base dự án và phong cách, style code của công ty.
- Fix được các bug , viết thêm được một vài chức năng cho dự án được giao
Hình 4.Website khi chọn tiếng việt
Hình 5.Website khi chọn tiếng Nhật
Hình 6.Phần mua sắm voucher bằng crypto bên app
Hình 7.Phần quản lý voucher bên cms
Hình 8.Phần cashback (hoàn tiền) bên app
Hình 9.Phẩn quản lý các nhãn hiệu hoàn tiền bên cms
NỘI DUNG VÀ KẾT QUẢ THỰC TẬP
Giai đoạn 1 : Nắm thông tin của công ty, tổng hợp kiến thức
- Nắm được các thông tin, văn hóa làm việc của công ty
- Làm quen được với anh chị đồng nghiệp, hòa nhập được vào môi trường và trở thành một phần của công ty.
- Nắm được quy trình làm việc và hiểu hơn về vị trí, nghiệp vụ của bản thân.
- Bổ sung lại các kiến thức về Nodejs, nắm được base dự án và phong cách, style code của công ty.
- Tổng hợp các kiến thức đã nắm được :
Hiểu biết cơ chế Event Loop trong javascript, sử dụng được các hàm async, await, promise
Biết sử dụng được ES6 javascript như cách khai báo biến let, const, các hàm Arrow function, Template String
Viết đúng convention và comment trên các function hoặc class
Hiểu nguyên lý lập trình hướng đối tượng trong NodeJS,
Thiết kế được biến, hàm, class, module, interface
Implement được các funtion với input/output và quy trình xử lý được định nghĩa sẵn để giải quyết bài toán
Viết đúng các callback async , Comment đầy đủ với các function lớn
Biết xác thực API qua các phương thức đơn giản: token (jwt, ), API key, basic authen
Biết xây dựng kiến trúc dữ liệu được định nghĩa trước, tổ chức tốt trên hệ thống code và database Biết Áp dụng một số giải thuật cơ bản áp dụng vào tìm kiếm
Biết SSH và deploy trên server cloud.
Giai đoạn 2 : Fix một số bug cơ bản
Lỗi query khi filter trên cms
Khi chúng ta tìm kiếm theo một trường nhất định trên cms, phía client sẽ gửi giá trị của trường cần tìm kiếm qua payload, từ đó bên phía server sẽ xử lý và chỉ lọc ra những kết quả mà thỏa mãn điều kiện vừa được client gửi qua.
Hình 10.Gửi giá trị tìm kiếm qua params
Thường thì những lỗi này phát sinh khi bên server xử lý sai, có nhiều trường hợp, có thể bên server đang hứng request.body nhưng bên client lại gửi qua params, cũng có thể bên server đang xử lý sai trường hoặc sai logic phần filter trong code.
Hình 11.Xử lý phần lọc qua tên
Lỗi phân trang không dúng
Trường hợp này có thể do từ bên client (cms) sau khi nhấn vào các trang khác thì chưa thực hiện hành động gửi 2 tham số page và limit hoặc bên server xử lý thiếu phần Paging(phần lớn là do bên server thiếu code phần phân trang).
Hình 12.Ví dụ phân trang
Hình 13.Code phần phân trang
( offset : tham số trang limit : giới hạn số phần tử mỗi trang )
Cập nhật không thành công
Thường là do truyền tới api sai hoặc do thiếu tham số truyền vào.
Hình 14.Ví dụ về tham số update
Hình 15.Ví dụ về update
Giai đoạn 3 : Viết thêm một số chức năng của dự án
Chuyển trang tin tức thành đa ngôn ngữ
Tạo một bảng language có các trường name,sign,del,createdAt,updateAt để lưu thông tin ngôn ngữ hỗ trợ.
Bảng post ( tin tức ) sẽ có thêm trường langueage_id là khóa phụ ánh xạ qua trường id của bảng language.
Khi tạo mới bài đăng (post) trên cms, database sẽ phải sinh ra số bản ghi tương ứng với số ngôn ngữ trong bảng language, mỗi bản ghi sẽ có thông tin riêng, language_id riêng và có chung group_id.
Khi bên web đổi ngôn ngữ sẽ truyền sign, từ đó bên server sẽ trả về thông tin các bài đăng tương ứng với sign mà người dùng chọn.
Mua sắm bằng crypto (bên app)
Sẽ có một danh sách các nhãn hiệu được phép mua sắm ở bên app.
Mỗi nhãn hiệu sẽ có một danh sách các voucher tương ứng và các voucher ấy sẽ có các thuộc tính name, image, brand_id, price, delete, createdAt, updateAt
Bên app sẽ gọi ra danh sách các voucher sau khi chọn nhãn hiệu tương ứng, sau đó có thể chọn các voucher muốn mua sắm và thêm vào giỏ hàng, tùy chỉnh số lượng tùy ý Khi bấm mua hàng , bên app sẽ truyền device_id, chain_id qua bên server, server sẽ sinh token_address tương ứng để trả về các thông tin của đồng tiền thanh toán (tỷ giá, tên, hình ảnh , ).
Khi bấm vào nút thanh toán, bên app sẽ gửi các thông tin cho bên thứ 3 xử lý,nếu thanh toán thành công thì sẽ xóa hết sản phẩm trong giỏ hàng và thông báo thành công, nếu thất bại thì sẽ thông báo thất bại và hiển thị lý do thanh toán thất bại cho bên người dùng.
KẾT LUẬN VÀ KIẾN NGHỊ Đợt thực tập vừa qua mang lại cho cá nhân em rất nhiều kinh ngiệm quý giá, thiết thực và bổ ích Qua đợt thực tập này, em tích lũy được những điều sau:
Tìm hiểu được môi trường của công ty bên ngoài, tham gia các hoạt động vui chơi giải trí ngoài giờ làm, làm quen được nhiều anh chị đồng nghiệp tốt.
Hiểu được lịch sử hình thành và phát triển, cơ cấu tổ chức của một trong những công ty công nghệ như TCOM Biết được quy trình làm việc cũng như học thêm được các kỹ năng mềm rất cần thiết cho con đường tương lai sau này.
Được tham gia trực tiếp vào công việc của một lập trình viên thực thụ, cảm thấy quá trình cố gắng học tập tại Trường đại học Công Nghiệp Hà Nội là hoàn toàn xứng đáng.
Ngoài những kết quả đạt tốt đạt được thì đôi khi các công việc trong lúc thi công và vận hành cũng gặp một số trục trặc nhỏ chủ yếu đến từ sự thiếu kinh nghiệm của bản thân và một phần cũng do còn mới,chưa kịp làm quen với nhịp độ làm việc của công ty Cần phải rút kinh nghiệm và cố gắng nhiều thêm.
Họ và tên: Ngô Thọ Ngọc Mã sinh viên: 2019600130 Đơn vị thực tập: Công ty cổ phần công nghệ và truyền thông TCOM
Người hướng dẫn tại doanh nghiệp: Ngô Trung Hiếu
Bảng 4.Nhật ký thực tập
Tuần Từ ngày - đến ngày Nội dung thực tập Kết quả đạt được Ghi chú
Tìm hiểu, cũng cố lại kiến thức về NodeJs, tìm hiểu base, format code của công ty
Khái niệm, hoạt động, cấu trúc của Nodejs, hiểu cơ bản base dự án công ty
Chuyển trang tin tức của website giới thiệu công ty thành đa ngôn ngữ
Trang tin tức của công ty có thể chọn được 1 trong 3 loại ngôn ngữ (Tiếng anh, tiếng việt, nhật bản)
3 25/1/2023 – Fix một số bug nhỏ
Fix một số bug nhỏ liên quan đến trang web của công ty
Hoàn thành đúng tiến độ
Viết thêm chức năng hoàn tiền khi khách mua sắm trên apps.
Khách sau khi mua hàng trên app sẽ được hoàn tiền vào ví.
Thêm chức năng mua sắm voucher bằng crypto Đang thực hiện
Thêm chức năng mua sắm voucher bằng crypto
Khách hàng đã có thể mua sắm bằng crypto tương ứng