VacationVibe : Aplikasi Pemesanan Sewa Liburan
VacationVibe adalah Aplikasi Pemesanan Full Stack yang memungkinkan pengguna memesan persewaan liburan, memberikan pengalaman yang lancar untuk memesan akomodasi. Aplikasi ini memungkinkan pengguna membuat listingan untuk properti mereka sendiri, memberikan pemilik properti kesempatan untuk memamerkan properti sewaan mereka kepada calon tamu. Dengan VacationVibe , pengguna dapat dengan mudah mencari properti yang tersedia, melihat detail properti, melakukan pemesanan, dan mengelola reservasi mereka.
Untuk merasakan VacationVibe secara langsung, silakan kunjungi situs web kami untuk demo langsung:
Kunjungi Situs Web untuk Demo Langsung
Fitur Utama
- Sistem Pemesanan: Pengguna dapat dengan mudah mencari properti yang tersedia dan melakukan pemesanan.
- Pembuatan Listing: Pemilik properti dapat membuat dan mengelola listing mereka.
- Dasbor: Pemilik properti memiliki akses ke dasbor tempat mereka dapat mengelola daftar mereka dan melihat permintaan pemesanan.
- Akun Pengguna: Pengguna dapat membuat akun untuk menyimpan properti favorit mereka dan mengelola pemesanan mereka.
Tumpukan Teknologi
Aplikasi ini dikembangkan menggunakan teknologi berikut:
- MongoDB: Database NoSQL yang digunakan untuk menyimpan data properti dan pengguna.
- Express.js: Kerangka kerja sisi server untuk membangun RESTful API dan menangani logika sisi server.
- React: Pustaka JavaScript untuk membangun antarmuka pengguna.
- Tailwind CSS: Kerangka kerja CSS yang mengutamakan utilitas yang digunakan untuk menata gaya frontend.
- Node.js: Lingkungan runtime JavaScript yang digunakan untuk menjalankan kode sisi server.
- Vercel: Platform cloud untuk hosting dan penerapan situs statis, digunakan untuk menyebarkan frontend aplikasi.
- AWS S3: Amazon Simple Storage Service (S3) untuk penyimpanan file, memungkinkan pengguna mengunggah dan mengambil gambar properti. Hal ini memungkinkan penyimpanan file yang aman dan terukur, memastikan sistem yang andal dan efisien untuk menangani gambar properti.
Memulai
Untuk menjalankan aplikasi VacationVibe secara lokal, ikuti langkah-langkah berikut:
- Kloning repositori:
git clone https://github.com/junaidsaleem10144/VacationVibe.git
- Arahkan ke direktori proyek:
cd VacationVibe
- Instal dependensi:
- Backend: Navigasikan ke folder
api
dan jalankan npm install
- Frontend: Navigasikan ke folder
client
dan jalankan npm install
- Buat file
.env
di folder api
dan berikan variabel lingkungan yang diperlukan. Anda dapat merujuk ke file .env.example
untuk variabel yang diperlukan. - Mulai server pengembangan:
- Backend: Di folder
api
, jalankan npm run dev
- Frontend: Di folder
client
, jalankan npm run start
Sekarang, Anda dapat mengakses aplikasi VacationVibe dengan membuka browser Anda dan mengunjungi http://localhost:4000
.
Struktur Folder
Proyek ini mengikuti struktur folder tertentu:
-
api/
: Berisi kode backend, termasuk pengaturan server, rute, dan model. -
client/
: Berisi kode frontend, termasuk komponen, gaya, dan aset React.
Ucapan Terima Kasih
Kami ingin mengucapkan terima kasih kepada sumber daya dan perpustakaan berikut yang telah berperan penting dalam pengembangan VacationVibe :
Bagian belakang
- bcryptjs: Perpustakaan untuk hashing dan membandingkan kata sandi.
- cookie-parser: Middleware untuk mengurai cookie di Express.
- cors: Middleware untuk mengaktifkan Cross-Origin Resource Sharing (CORS).
- dotenv: Modul untuk memuat variabel lingkungan dari file .env.
- jsonwebtoken: Perpustakaan untuk menghasilkan dan memverifikasi JSON Web Tokens (JWT).
- luwak: perpustakaan Pemodelan Data Objek (ODM) untuk MongoDB.
- multer: Middleware untuk menangani unggahan file di Express.
- @aws-sdk/client-s3: Pustaka klien untuk berinteraksi dengan Amazon S3 untuk menyimpan file.
- pengunduh gambar: Perpustakaan untuk mengunduh gambar dari URL.
- tipe mime: Perpustakaan untuk bekerja dengan tipe MIME.
- ekspres: Kerangka web untuk Node.js.
Ketergantungan pengembangan (Backend):
- nodemon: Utilitas yang secara otomatis me-restart server Node.js ketika perubahan file terdeteksi.
Bagian depan
- aksio: Perpustakaan untuk membuat permintaan HTTP.
- date-fns: Perpustakaan untuk memanipulasi dan memformat tanggal.
- react-router-dom: Perpustakaan untuk menangani perutean dalam aplikasi React.
- bereaksi: perpustakaan JavaScript untuk membangun antarmuka pengguna.
- react-dom: Paket untuk merender komponen React.
Ketergantungan pengembangan (Frontend):
- @types/react: Ketik definisi untuk React.
- @types/react-dom: Ketik definisi untuk React DOM.
- @vitejs/plugin-react: Plugin Vite untuk dukungan React.
- autoprefixer: Plugin PostCSS untuk menambahkan awalan vendor ke CSS.
- postcss: alat pasca-prosesor CSS.
- tailwindcss: Kerangka kerja CSS yang mengutamakan utilitas.
- vite: Bangun alat untuk pengembangan web modern.
Terima kasih telah memilih VacationVibe ! Jika Anda memiliki pertanyaan atau masukan, jangan ragu untuk menghubungi kami.
Berkontribusi
Kontribusi ke aplikasi VacationVibe dipersilakan! Jika Anda menemukan masalah atau ingin menambahkan fitur baru, silakan buka permintaan tarik.
Lisensi
Proyek ini dilisensikan di bawah Lisensi MIT.