توسعهدهنده موبایل (اندروید و iOS) برای ساخت یک اپلیکیشنما در حال طراحی یک اپلیکیشن پیشرفته IoT هستیم که به منظور جمعآوری دادههای حسگرها و اجرای مدلهای هوش مصنوعی در سطح دستگاه طراحی شده است. این اپلیکیشن همچنین از مدیریت کلید خصوصی کاربران برای تضمین امنیت و حریم خصوصی دادهها استفاده خواهد کرد. ما به یک developer با تجربه در هر دو پلتفرم اندروید و iOS نیاز داریم تا این پروژه را از مرحله طراحی تا اجرا پیادهسازی کند.
مسئولیتها:
1. توسعه و پیادهسازی کل اپلیکیشن DataProbe:
a. طراحی و پیادهسازی ساختار جمعآوری دادههای حسگرها (مانند Accelerometer، Gyroscope، Speed و دادههای محیطی).
2. پیادهسازی سیستم کلید خصوصی:
a. تولید و ذخیره کلید خصوصی کاربران به صورت امن:
b. استفاده از Secure Enclave (iOS) و Android Keystore (اندروید).
c. ارائه روشهای بازیابی کلید شامل:
d. عبارت بازیابی ۱۲ کلمهای (12-word seed phrase).
e. کد QR.
f. Shamir’s Secret Sharing (SSS).
3. ناشناسسازی و رمزنگاری دادهها:
a. اطمینان از رمزنگاری تمامی دادههای کاربران با استفاده از کلید خصوصی ذخیرهشده به صورت محلی.
b. ناشناسسازی دادهها قبل از ارسال به Cloud Platform.
4. همگامسازی و مدیریت دادهها:
a. طراحی مکانیزم جمعآوری دادههای حسگرها در لحظه (real time) و ذخیره آنها در پایگاه داده محلی.
b. هماهنگی با تیم بکاند برای انتقال امن دادهها به سرور Cloud.
5. رابط کاربری (UI/UX):
a. همکاری با تیم طراحی برای پیادهسازی رابط کاربری و بهینه که در figma طراحی شده است.
b. اطمینان از ارائه تجربه روان برای کاربران.
مهارتهای مورد نیاز:
توسعه اندروید:
- مسلط به Kotlin و ابزارهای Jetpack.
- تجربه در استفاده از Room برای مدیریت دادههای محلی.
- آشنایی با Android Keystore برای ذخیره امن دادهها.
توسعه iOS:
- مسلط به Swift, SwiftUI و استفاده از SwiftData برای ذخیره دادهها.
- آشنایی با Secure Enclave برای مدیریت کلید خصوصی.
مهارتهای عمومی:
- آشنایی با اصول رمزنگاری (Encryption) و امنیت دادهها.
- تجربه در مدیریت دادههای حسگر و ادغام آنها با مدلهای هوش مصنوعی.
- توانایی کار با Shamir’s Secret Sharing برای بازیابی کلیدها.
- مهارت در بهینهسازی عملکرد اپلیکیشن برای پردازش و جمعآوری دادههای Real-time.
مزایا:
- همکاری در یک پروژه نوآورانه در حوزه هوش مصنوعی و حریم خصوصی.
- امکان همکاری به صورت دورکاری و انعطافپذیر.
- پشتیبانی از توسعهدهندگان با فرصت یادگیری و بهبود مهارتها.