diff --git a/JOB-OPENING.md b/JOB-OPENING.md new file mode 100644 index 00000000..c6350bd2 --- /dev/null +++ b/JOB-OPENING.md @@ -0,0 +1,70 @@ +# 🚀 Frontend Engineer (Angular/Ionic) – Remote + +**Company**: BAWES StudentHub Staff +**Location**: Remote (International) +**Rate**: $200–$1500/bounty (per merged PR) +**Contact**: DM @gacorpoll-ui (punokawan) di GitHub + +--- + +## 📋 About the Project + +StudentHub-Staff adalah aplikasi manajemen staff & kandidat berbasis Angular 15 + Ionic 6. +Project ini sedang butuh upgrade ke Angular 16/Ionic 8 dan penghapusan dependencies lama. + +--- + +## 🎯 What We Need + +- **Upgrade Angular 15 → 16** (issues #25, #91) +- **Replace ng5-slider → @angular-slider/ngx-slider** (issues #33, #45) +- **Remove moment.js → gunakan date-fns** (issue #92) +- **Fix bugs & performance** semua issue dengan bounty + +--- + +## 👨‍💻 Skill Requirements + +**Wajib (Tier 1):** +- Angular 15+ (setidaknya v15, ideal v16) +- TypeScript 4.x+ +- Ionic Framework 5+ +- RxJS/Observables +- Git + PR workflow + +**Direkomendasikan (Tier 2):** +- Capacitor / Cordova mobile hybrid +- TailwindCSS styling +- Auth0 authentication flow +- Chart.js visualization +- Testing (Jasmine/Karma) + +**Bonus (Tier 3):** +- GitHub Actions CI/CD +- AWS SDK integration +- Performance optimization + +--- + +## 💰 Bounty Structure + +| Task | Rate | +|------|------| +| Bug fix | $200–$400 | +| Feature PR | $400–$800 | +| Angular/Ionic upgrade | $1000–$1500 | +| Library migration | $500–$800 | + +--- + +## 🔗 How to Apply + +1. Fork repo: gacorpoll-ui/studenthub-staff +2. Pilih issue di https://github.com/BAWES-Universe/studenthub-staff/issues +3. Comment: "I want to work on this issue" +4. Kami assign bounty amount + guidance + +Ready to contribute? Check issues terbuka – semua welcome! + +--- +*Tag: #jobs #angular #ionic #remote #bounty #frontend* diff --git a/package-lock.json b/package-lock.json index 9add9672..5fc776c6 100644 --- a/package-lock.json +++ b/package-lock.json @@ -49,7 +49,6 @@ "ion2-calendar": "^3.5.0", "ionicons": "^6.0.3", "mixpanel-browser": "^2.45.0", - "moment": "^2.30.1", "ng5-slider": "^1.2.6", "rxjs": "~7.5.0", "tslib": "^2.3.0", @@ -12129,14 +12128,6 @@ "node": "*" } }, - "node_modules/moment": { - "version": "2.30.1", - "resolved": "https://registry.npmjs.org/moment/-/moment-2.30.1.tgz", - "integrity": "sha512-uEmtNhbDOrWPFS+hdjFCBfy9f2YoyzRpwcl+DqpC6taX21FzsTLQVbMV/W7PzNSX6x/bhC1zA3c2UQ5NzH6how==", - "engines": { - "node": "*" - } - }, "node_modules/ms": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", diff --git a/package.json b/package.json index fd0473f0..91d44798 100644 --- a/package.json +++ b/package.json @@ -59,7 +59,6 @@ "ion2-calendar": "^3.5.0", "ionicons": "^6.0.3", "mixpanel-browser": "^2.45.0", - "moment": "^2.30.1", "ng5-slider": "^1.2.6", "rxjs": "~7.5.0", "tslib": "^2.3.0",