NeedU — Ứng dụng SOS im lặng cho Hackathon Kiro
Giữ. Ghi. Chia sẻ. Một ứng dụng SOS im lặng nhanh chóng, bảo mật cho các tình huống bắt cóc và bạo lực. Được xây dựng bằng Flutter + Firebase.
NeedU là một ứng dụng SOS im lặng nhẹ, chỉ cần nhấn và giữ nút SOS trong 3 giây để bắt đầu ghi âm 30 giây trong nền và chia sẻ vị trí trực tiếp của bạn với tối đa ba người liên lạc khẩn cấp. Ứng dụng được thiết kế để hoạt động khi bạn không thể nói hoặc di chuyển điện thoại.
Nội dung tôi đã xây dựng
Tính năng nổi bật
- Nhấn giữ để kích hoạt SOS với vòng đếm ngược và hiệu ứng hạt.
- Xác nhận rung và snackbar khi kích hoạt.
- Ghi âm âm thanh nền (cân nhắc cho iOS & Android) — ghi âm được chia thành các đoạn an toàn 5 giây và được tải lên ngay lập tức vào Firebase Storage.
- Xác thực OTP qua điện thoại và xác thực mạnh mẽ (Email/Mật khẩu, Đăng nhập Google, Đăng nhập Apple). Xác thực qua điện thoại là bắt buộc khi đăng ký để cảnh báo SOS đến số điện thoại thực.
- Sử dụng hệ thống thiết kế:
AppColors,AppTypography,AppTheme, vàSizeConfigcho phong cách đồng nhất. - Lưu trữ cục bộ đối tượng người dùng trong
SharedPreferencesvà bộ sưu tập Firestoreusers/{uid}cho lưu trữ trên đám mây.
Kế hoạch thực hiện
Dưới đây là kế hoạch thực hiện mà tôi đã xây dựng cho tính năng này:
- Tạo lớp AudioServices: Xây dựng một lớp singleton
AudioServicesvới chức năng ghi âm cơ bản, kiểm tra quyền microphone, và cấu hình phiên âm thanh cho iOS. - Ghi âm an toàn: Thiết kế hệ thống ghi âm trong các đoạn an toàn 5 giây, mỗi đoạn sẽ được tải lên ngay lập tức.
- Tích hợp Firebase: Tải âm thanh lên Firebase Storage với cấu trúc đường dẫn
sos_recordings/{uid}/Triggered_on_{date}/filename.m4a. - Quản lý trạng thái nút SOS: Thêm quản lý trạng thái cho nút SOS với phản hồi hình ảnh cho người dùng.
- Tích hợp hiển thị danh bạ khẩn cấp: Hiển thị danh bạ khẩn cấp bên dưới nút SOS cho người dùng đã đăng nhập.
Các thực tiễn tốt nhất
- Kiểm tra quyền: Hãy chắc chắn người dùng đã cấp quyền cho ứng dụng để ghi âm và truy cập vị trí.
- Thông báo rõ ràng: Sử dụng snackbar để thông báo cho người dùng về tình trạng ghi âm và tải lên.
- Duy trì trải nghiệm người dùng: Đảm bảo giao diện người dùng đơn giản và dễ sử dụng, ngay cả trong tình huống khẩn cấp.
Cạm bẫy thường gặp
- Lỗi kết nối: Kiểm tra kết nối mạng trước khi tải âm thanh lên Firebase.
- Quyền truy cập bị từ chối: Nếu người dùng từ chối quyền truy cập vào microphone, hãy cung cấp hướng dẫn rõ ràng để họ có thể cấp lại quyền.
Mẹo hiệu suất
- Tối ưu hóa bộ nhớ: Sử dụng các đoạn ghi âm nhỏ để giảm thiểu bộ nhớ sử dụng.
- Tải lên nhanh chóng: Tải lên mỗi đoạn ghi âm ngay lập tức để đảm bảo không mất dữ liệu.
Giải quyết sự cố
- Nếu ghi âm không bắt đầu: Kiểm tra quyền microphone và trạng thái kết nối.
- Nếu không tải lên được: Kiểm tra lại cấu hình Firebase và kết nối internet.
Câu hỏi thường gặp (FAQ)
1. Ứng dụng này có miễn phí không?
Có, NeedU là ứng dụng miễn phí.
2. Làm thế nào để cài đặt ứng dụng?
Bạn có thể tải xuống trên Google Play hoặc App Store.
3. Ứng dụng có hoạt động offline không?
Có, bạn có thể ghi âm mà không cần kết nối internet, nhưng cần có kết nối để tải lên.
Kết luận
NeedU là một ứng dụng rất hữu ích để đảm bảo an toàn trong các tình huống khẩn cấp. Hãy thử nghiệm ngay hôm nay và giữ cho bản thân và những người xung quanh an toàn. Đừng quên chia sẻ ứng dụng với bạn bè và gia đình để mọi người cùng được bảo vệ.
Liên hệ với chúng tôi qua trang web chính thức để biết thêm thông tin chi tiết!