Skip to content

Latest commit

 

History

History
112 lines (86 loc) · 3.24 KB

File metadata and controls

112 lines (86 loc) · 3.24 KB

✈️ AirHopper Backend API

codecov

AirHopper adalah API pemesanan tiket pesawat online yang dirancang untuk memberikan pengalaman perjalanan yang mudah dan nyaman. Dengan dukungan teknologi modern seperti Express, Prisma, dan Swagger, kami menyediakan layanan backend yang cepat, aman, dan dapat diandalkan.

🌟 Fitur Utama

  • Otentikasi Aman: Menggunakan JSON Web Token (JWT) dan hashing password dengan bcrypt.
  • Pencarian Rute: Algoritma efisien untuk pencarian penerbangan, termasuk opsi transit.
  • Manajemen Data: CRUD untuk pengguna, penerbangan, dan pemesanan tiket.
  • Pembayaran Online: Integrasi dengan Midtrans untuk proses pembayaran yang lancar.
  • Dokumentasi API: Swagger untuk eksplorasi dan pengujian endpoint API.
  • Email Notifikasi: Otomatisasi email dengan Nodemailer untuk konfirmasi pemesanan.
  • Upload Media: Dukungan untuk upload file dengan Multer dan integrasi ImageKit.
  • Error Tracking: Pemantauan kesalahan dengan Sentry.

🛠️ Teknologi yang Digunakan

  • Express.js sebagai framework utama.
  • Prisma untuk ORM yang kuat dan mudah digunakan.
  • Swagger & Postman untuk dokumentasi dan pengujian API.
  • Midtrans untuk gateway pembayaran.
  • Zod untuk validasi data.
  • Sentry untuk pemantauan performa aplikasi.

🚀 Cara Menggunakan

Ikuti langkah-langkah berikut untuk menjalankan proyek ini di lokal:

Prasyarat

  1. Node.js versi terbaru (minimal 16.x).
  2. Database PostgreSQL atau yang kompatibel.
  3. Alat pengelola API (Postman atau sejenisnya).

Langkah Instalasi

  1. Clone repositori ini:

    git clone hhttps://github.com/AirHopper/BackEnd.git
  2. Instal semua dependensi:

    npm install
  3. Konfigurasikan file lingkungan .env:

         # Database
         DATABASE_URL="your-database-url"
         DIRECT_URL="your-database-url"
    
         # Mailer
         MAILER_USER="your-email-address"
         MAILER_PASSWORD="your-email-password"
    
         # Image Kit
         IMAGEKIT_PUBLIC_KEY="your-imagekit-public-key"
         IMAGEKIT_PRIVATE_KEY="your-imagekit-private-key"
         IMAGEKIT_URL_ENDPOINT="your-imagekit-url-endpoint"
    
         # sentry
         SENTRY_DSN="your-sentry-dsn"
    
         JWT_SECRET="secret"
         APP_URL="your-app-url"
         NODE_ENV=development/production
         PORT=3000
  4. Migrasi database dengan Prisma:

    npx prisma migrate dev
  5. alankan server:

    npm run dev
  6. Akses dokumentasi API di:

    http://localhost:3000/api-docs

👥 Tim AirHopper

Kami adalah kolaborasi antara developer Backend dan Fullstack dari program Studi Independen Kampus Merdeka - Binar Academy.

  • Backend :
    • Muhamad Royhan Fadhli
    • Juan Verrel Tanuwijaya
    • Ahmad Subhan Daryhadi
    • Bima Rizqy Ramadhan
  • Fullstack :
    • Ridhwan Tsalasah Putra
    • Ryan Nicholas Purba
    • M. Zaky Pria Maulana
    • Joe Ferdinan

🖥️ API Documentation

1 Postman :

https://documenter.getpostman.com/view/33280373/2sAYBbf9a7

2 Swagger :

https://https://air-hopper-api.padek.tech/api-docs