Proyek saya adalah aplikasi PDFChat yang dibangun menggunakan ReactJS Vite Framework, MongoDB untuk penyimpanan data, JWT untuk otentikasi dan otorisasi pengguna, dan Node.js dengan Express.js untuk backend. Ini juga menggunakan berbagai perpustakaan dan alat untuk pengembangan yang efisien, termasuk dotenv untuk manajemen variabel lingkungan, langchain dan toko vektornya untuk pemrosesan bahasa, multer untuk unggahan file, dan axios untuk membuat permintaan ke backend. Proyek ini ditata dengan kerangka kerja CSS dan shadcn tailwind untuk antarmuka pengguna yang ramping.
Di back-end, saya menggunakan Node.js dengan Express.js untuk menangani permintaan dan MongoDB untuk menyimpan informasi pengguna dan mengelola login pengguna. Untuk menjaga hal -hal aman, saya menggunakan token web JSON untuk otentikasi pengguna, memastikan bahwa hanya pengguna yang berwenang yang dapat mengakses bagian -bagian tertentu dari proyek.
Untuk menangani file PDF, saya menggunakan alat yang disebut Multer untuk menyimpan file dan lokasi mereka di database. Kemudian, saya memproses PDF yang diunggah, memecahnya menjadi bagian -bagian yang lebih kecil dan menyimpannya di toko vektor HNSW yang disediakan oleh Langchain. Perjalanan ini memperluas keterampilan saya dan memberi saya pemahaman yang lebih baik tentang kemungkinan yang ditawarkan oleh teknologi canggih seperti Langchain dan Rag.
Sebelum menjalankan proyek, Anda perlu mengatur variabel lingkungan dan konfigurasi:
Klon The Repository : Mulailah dengan mengkloning repositori ini ke mesin lokal.
Pengaturan Frontend :
npm install untuk menginstal Dependencies Frontend.npm run dev untuk memulai frontend.Pengaturan Backend :
npm install untuk menginstal dependensi backend..env di direktori backend dan atur variabel berikut:PORT : Nomor port di server akan berjalan. (Secara default 8080)username : Nama Pengguna Mongodb Atlas Connection.password : Kata sandi koneksi MongoDB Atlas.JWT_SECRET : Rahasia untuk generasi token JWT.OPENAI_API_KEY : Kunci API OpenAI.Pengaturan Basis Data :
Mulailah backend :
npm start untuk memulai server backend.Akses aplikasi :
http://localhost:5173 di browser untuk mengakses aplikasi.http://localhost:8080 atau http://localhost:PORT di terminal Anda untuk mengakses aplikasi bagian backend. Struktur proyek diatur menjadi dua direktori utama:
frontend : Berisi semua kode ReactJS untuk frontend dengan naskah.backend : Berisi server Node.js menggunakan Express.js untuk logika backend. Saya telah menggunakan JWT (JSON Web Token) untuk otentikasi dan otorisasi pengguna. Ketika pengguna mendaftar atau masuk, mereka menerima token yang harus dikirim dengan permintaan berikutnya untuk mengakses rute resmi.
Informasi pengguna disimpan di MongoDB, database NoSQL yang fleksibel. Data pengguna disimpan dengan aman dan diambil sesuai kebutuhan untuk interaksi pengguna.
Saya telah menggunakan Multer, middleware untuk menangani unggahan file, memungkinkan pengguna untuk mengunggah file seperti gambar atau dokumen. Fitur ini meningkatkan pengalaman pengguna dengan mendukung konten multimedia.
Frontend dirancang dengan antarmuka yang ramah pengguna menggunakan CSS tailwind dan kerangka shadcn. Ini menawarkan pengalaman yang responsif dan menarik secara visual bagi pengguna.
Backend menyediakan berbagai titik akhir API untuk mengelola data pengguna, otentikasi, dan unggahan file. Titik akhir ini didokumentasikan dalam kode, dan Anda dapat menemukan detail lebih lanjut di basis kode backend.