Hello semua,
Dalam catatan blog ini, saya akan membincangkan permintaan tarik kedua (PR) saya sebagai sebahagian daripada siri Keluaran 0.3 untuk tugasan saya. PR ini meneruskan kerja saya pada projek GitExplorer, yang pada mulanya saya sumbangkan semasa acara Hacktoberfest. Untuk keluaran minggu ini, penyelenggara projek meminta pelaksanaan fungsi pengesahan GitHub.
GitExplorer ialah projek yang bertujuan untuk memudahkan interaksi dengan repositori GitHub. Jika anda berminat untuk mengetahui lebih lanjut tentang projek atau sumbangan saya sebelum ini, sila lihat catatan blog saya sebelum ini untuk repositori ini.
Isu khusus yang saya tangani kali ini ialah kekurangan pengesahan GitHub dalam aplikasi. Pengehadan ini menghalang apl daripada menyediakan ciri yang diperibadikan seperti membintangi repositori. Tugas saya adalah untuk melaksanakan ciri pengesahan GitHub yang membolehkan pengguna log masuk dan log keluar menggunakan akaun GitHub mereka. Selain itu, pengguna akan dapat membintangkan repositori kegemaran mereka dan mengambil senarai semua repositori berbintang mereka dengan klik butang mudah.
GitExplorer tidak menggunakan sebarang rangka kerja UI moden seperti React. Sebaliknya, ia bergantung semata-mata pada JavaScript vanila, CSS dan HTML. Walaupun kesederhanaan ini mempunyai kelebihannya, ia memerlukan saya untuk menumpukan lebih banyak masa kepada isu ini kerana pangkalan kod asal adalah tertumpu pada bahagian hadapan. Menambahkan pengesahan GitHub dan kefungsian bahagian belakang yang berkaitan bermakna menerokai struktur sedia ada dan melaksanakan penyelesaian bahagian pelayan.
Untuk menyokong ciri baharu, saya mula-mula menyusun semula projek itu. Saya mengalihkan semua kod bahagian hadapan sedia ada ke dalam folder awam dan mencipta folder bahagian belakang untuk menempatkan pelaksanaan bahagian pelayan. Untuk bahagian belakang, saya memilih rangka kerja Express kerana ia terintegrasi dengan baik dengan Passport.js, perpustakaan yang saya gunakan untuk mengendalikan pengesahan GitHub.
Langkah-langkah termasuk:
Selepas menyediakan bahagian belakang, saya menyepadukan API GitHub untuk menyokong fungsi yang diperlukan. Ini termasuk:
Selain melaksanakan fungsi, saya menumpukan pada meningkatkan kualiti kod dengan menggunakan prinsip DRY (Don’t Repeat Yourself). Saya memodulasi kod dengan mengasingkan fungsi kepada komponen boleh guna semula, menjadikannya lebih mudah untuk diselenggara dan dilanjutkan pada masa hadapan.
Ini adalah pengalaman pertama saya bekerja dengan pengesahan GitHub, dan ia memberikan cerapan berharga untuk menyepadukan API pihak ketiga dan mengurus perkhidmatan hujung belakang. Walaupun projek pada mulanya kelihatan mudah, kerja pada bahagian hadapan dan belakang memberi saya pemahaman yang lebih mendalam tentang pembangunan tindanan penuh.
GitExplorer masih mempunyai banyak isu menarik yang dibuka untuk kerjasama. Jika masa mengizinkan, saya bercadang untuk menyumbang lagi. Projek ini telah terbukti mesra pemula sambil menawarkan banyak peluang untuk mempelajari teknologi dan konsep baharu.
Terima kasih kerana membaca, dan saya harap siaran ini memberi inspirasi kepada anda untuk meneroka peluang yang sama untuk pembelajaran dan pertumbuhan.
Atas ialah kandungan terperinci Bekerja dengan GitHub OAuth Authentication. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!