Đây là điều tôi học được sau 8 tháng xây dựng một ứng dụng
Bài viết chia sẻ kinh nghiệm phát triển ứng dụng Elite Condos - nền tảng kết nối chủ căn hộ với nhà cung cấp dịch vụ nhà ở. Tác giả đúc kết các bài học về tìm ý tưởng thực tiễn, tầm quan trọng của kiến trúc phần mềm, comment code, refactoring, và việc tập trung vào một nền tảng để hoàn thiện sản phẩm.

Mở đầu
Dự định xây dựng Elite Condos có từ trước khi mình bắt đầu học IOS. Đây có thể coi là app theo mình xuyên suốt quá trình tự học IOS đến hiện giờ, khoảng 8 tháng luôn đó nha. Mình đã đập bỏ và build lại 2 lần và cũng có nhiều điều muốn chia sẻ với bạn.
Sắp tới mình dự định sẽ đưa project này vào khóa học IOS One for All sắp tới. Mọi người cùng xem qua tính năng của nó cũng như điều mình học được từ nó nhé!
Giới thiệu
Elite Condos là ứng dụng dạng Uber for Home Services - giúp kết nối chủ căn hộ với các nhà cung cấp dịch vụ nhà ở ( như sửa nước, điện, nội thất,vv )
Có 2 app là Elite Condos và Elite Condos Supplier.
Link download tại đây:
Elite Condos:
https://itunes.apple.com/app/id1221853492
và Elite Condos Supplier:
https://itunes.apple.com/us/app/elite-condos-supplier/id1227582001?mt=8
Elite Condos
-
Đăng ký
-
Đăng nhập
-
Quên mật khẩu
-
Thông tin khách hàng
-
Đặt lịch
-
Chọn nhà cung cấp khi đặt lịch
-
Quản lý đơn hàng, xem trạng thái của đơn hàng
-
Hủy đơn hàng
-
Xác nhận thanh toán
-
Review nhà cung cấp sau khi xử dụng
Một số hình ảnh từ app:
Elite Condos Supplier
-
Đăng ký
-
Đăng nhập
-
Quên mật khẩu
-
Thông tin nhà cung cấp
-
Chọn các dịch vụ cung cấp
-
Nhận đơn hàng
-
Từ chối đơn hàng
-
Quản lý đơn hàng
-
Gửi báo giá
-
Xem review từ khách hàng
Bài học rút ra
Ý tưởng từ đâu, làm gì bây giờ?
Ý tưởng khá rẻ, ai cũng nghĩ được. Tuy nhiên bắt đầu với một ý tưởng tồi sẽ dẫn đến ngõ cụt, đó là điều hiển nhiên. Mình thấy nhiều bạn vẫn đang “bí” trong việc tìm ý tưởng đế thực hiện.
Thông thường ý tưởng xuất phát từ chính khó khăn mà bản thân mình đang mắc phải. Như Mark Zuckerberg học tâm lý học, anh biết mọi người nhiều chuyện, thích theo dõi trạng thái, hoạt động của người khác, vì thế Facebook ra đời. Brian Chesky không đủ tiền để thuê phòng vì thế AirBnb ra đời.
Những ý tưởng xuất phát từ chính nỗi đau của bạn, có nghĩa là nhiều người khác cũng gặp vấn đề tương tự. Người ta sẽ gọi ý tưởng đó là thực tiễn, có khả thi.
Vậy nếu bạn chưa tìm được ý tưởng, chưa thấy mình đang có vấn đề gì hết thì phải làm sao?
Đơn giản và hiệu quả nhất là tìm một cofounder đang gặp vấn đề ở các lĩnh vực khác để hợp tác. Có thể bạn chưa biết nhưng xã hội còn rất nhiều vấn đề , nhiều bài toán chưa có lời giải.
Vậy tại sao không hợp tác nhau để giải quyết vấn đề. Như ứng dụng Elite Condos này mình hợp tác với một anh làm trong lĩnh vực nhà ở vì thế sẽ hiểu nghiệp vụ hơn.
Còn nhiều thứ phải nghĩ hơn code
Ngay từ lúc đầu, mình đã lao vào code liền. Sau đó sửa tới sửa lui, app bắt đầu phức tạp thì rối hết lên. Vài tuần không code nhìn lại thì phải mất vài tiếng để hiểu code mình viết. Đây là những điều mình rút ra:
-
Nên comment code của chính mình, đặc biệt là những phần mới học, mới tiếp cận. Có thể lúc bạn code bạn hiểu nhưng xem lại thì bó tay.
-
Nên quan tâm đến những thứ ít thay đổi như kiến trúc phần mềm, design patterns. Ngôn ngữ, framework có thể thay đổi liên tục nhưng kiến trúc phần mềm, design patterns hầu như giống nhau ở mọi ngôn ngữ, framework, chỉ khác cách cài đặt.
-
Nên học những kiến thức bạn có thể làm và đưa ngay vào project được. Ví dụ mình mới học về protocol, delegate, mình đưa ngay vào project liền. Hay lúc mới học đa tiến trình multithreading, mình cũng áp dụng GCD vào project. Biển học bao la, nếu không làm, không thực hành thì sẽ quên ngay. Ví dụ Core Data mình cũng có học qua nhưng không đưa vào project làm, nên đã quên gần hết.
-
Refactor code rất quan trọng. Cứ mỗi khi thấy code bị trùng lặp, 2 class xài chung nhiều hàm thì hãy refactor code lại để dễ đọc, dễ phát triển hơn.
-
Nên tập trung vào một nền tảng trước. Elite Condos này mình hoàn toàn dùng Firebase làm backend. Nếu tự viết backend sẽ tốn thời gian học thêm nhiều thứ khác, có lẽ mùa quýt năm sau cũng chưa xong mất.
Tổng kết
Hai năm trước (năm nhất), mình giành gần 4 tháng để nghiên cứu cross platform ConfigureIT đề làm ứng dụng Gia Sư Việt. Một năm sau, mình mất gấp đôi thời gian để hoàn thành 2 app Elite Condos và Elite Condos Supplier này.
App mình viết rất nhiều bug, tính năng chưa có gì đặc sắc , nhưng một điều mình chắc chắn đó là:
" hard works pay off ". Có thể với app này mình không kiếm được nhiều tiền, nhưng nó đem lại nhiều kinh nghiệm, cơ hội khác.
Related Posts
Discover more content you might enjoy

Game Theory trong thời đại AI: Khi máy móc tham gia vào "trò chơi"
Bài viết phân tích sự giao thoa giữa lý thuyết trò chơi (Game Theory) và trí tuệ nhân tạo, giải thích cách AI đang thay đổi các nguyên lý cân bằng Nash và chiến lược tối ưu. Tác giả đưa ra các ví dụ thực tế về ứng dụng trong kinh doanh, giao thông và an ninh mạng.

Vibe Coding và các nhược điểm của nó
Phân tích chi tiết các nhược điểm và rủi ro của phương pháp Vibe Coding - cách tiếp cận để AI viết code mà không cần sự giám sát của con người, giúp người đọc hiểu rõ hơn về những thách thức trong việc áp dụng công nghệ AI vào phát triển phần mềm.

Dự đoán về Vibe Coding: Cách AI sẽ biến đổi việc tạo ra phần mềm
Phân tích chi tiết cách 'vibe coding' - phương pháp lập trình dựa trên mô tả ý định thay vì viết code trực tiếp - sẽ dân chủ hóa việc phát triển phần mềm, giúp người đọc hiểu rõ hơn về xu hướng công nghệ và tác động của nó đến ngành công nghệ thông tin.

Vibe Coding: Cuộc Cách Mạng Trong Phát Triển Phần Mềm
Giới thiệu khái niệm Vibe Coding - một cách tiếp cận mới trong phát triển phần mềm, nhấn mạnh sự thay đổi về tư duy và cách tiếp cận trong việc xây dựng phần mềm, giúp người đọc hiểu rõ hơn về xu hướng phát triển công nghệ hiện đại.

Làm gì khi không biết làm gì?
Bài viết chia sẻ cách tiếp cận khi đối mặt với tình trạng không biết chọn hướng đi nào trong cuộc sống hay sự nghiệp. Tác giả phân tích nguyên nhân của sự do dự là nỗi sợ chọn sai và thiếu thông tin, đồng thời đưa ra lời khuyên nên tập trung vào những điều đã biết về mục tiêu và sở thích của bản thân, thay vì lo lắng về những điều chưa biết.

Sự công nhận có cần thiết?
Bài viết bàn về tầm quan trọng của sự công nhận trong tháp nhu cầu Maslow và tác động của nó đến tâm lý con người.