Đâ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.

Dự đoán về Vibe Coding: Cách AI sẽ biến đổi việc tạo ra phần mềm
Bài viết phân tích 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. Tác giả dự đoán về sự chuyển đổi từ giao diện dòng lệnh sang thiết kế trực quan, sự xuất hiện của phần mềm tự cải thiện, và tác động đến cấu trúc tổ chức công ty cũng như các thị trường ngách chưa được khai thác.

Sự Phát Triển của Micro SaaS: Tại sao Năm 2024 sẽ là năm của Phần mềm Chuyên Biệt
Bài viết phân tích xu hướng phát triển của Micro SaaS trong năm 2024, giải thích khái niệm và sự khác biệt giữa SaaS truyền thống và Micro SaaS. Tác giả trình bày các đặc điểm của doanh nghiệp Micro SaaS, lý do tại sao 2024 là thời điểm bùng nổ của mô hình này, và hướng dẫn cách xây dựng một Micro SaaS thành công với công nghệ nocode. Bài viết cũng chia sẻ kinh nghiệm thực tế và các bài học từ những dự án Micro SaaS của chính tác giả.

Thời của các chuyên gia đã tới: Tạo app trên ChatGPT Store
Giới thiệu về tính năng GPTs của ChatGPT cho phép người dùng tạo trợ lý AI riêng biệt dựa trên chuyên môn của mình và đăng lên ChatGPT Store.

Kiếm tiền thụ động với crypto staking
Bài viết giới thiệu tổng quan về crypto staking - phương pháp kiếm tiền thụ động trong thị trường tiền điện tử. Tác giả phân tích cơ chế hoạt động của staking, so sánh với gửi tiết kiệm ngân hàng, ưu nhược điểm, các loại staking phổ biến như Ethereum và Solana, cùng với các lựa chọn staking thông qua sàn giao dịch tập trung hoặc phi tập trung.
