Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/airhopper/backend
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.
https://github.com/airhopper/backend
bycript docker eslint express imagekit jwt midtrans nodemailer oauth prisma zod
Last synced: 4 days ago
JSON representation
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.
- Host: GitHub
- URL: https://github.com/airhopper/backend
- Owner: AirHopper
- Created: 2024-11-21T13:23:06.000Z (about 1 month ago)
- Default Branch: main
- Last Pushed: 2024-12-23T15:29:34.000Z (11 days ago)
- Last Synced: 2024-12-29T23:44:52.394Z (4 days ago)
- Topics: bycript, docker, eslint, express, imagekit, jwt, midtrans, nodemailer, oauth, prisma, zod
- Language: JavaScript
- Homepage: https://air-hopper-api.padek.tech
- Size: 889 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ✈️ AirHopper Backend API
[![codecov](https://codecov.io/gh/AirHopper/BackEnd/graph/badge.svg?token=VH2I0CG2CC)](https://codecov.io/gh/AirHopper/BackEnd)
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:
```bash
git clone hhttps://github.com/AirHopper/BackEnd.git
```
2. Instal semua dependensi:
```bash
npm install
```
3. Konfigurasikan file lingkungan .env:```bash
# 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:
```bash
npx prisma migrate dev
```
5. alankan server:
```bash
npm run dev
```
6. Akses dokumentasi API di:
```bash
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 :**
```bash
https://documenter.getpostman.com/view/33280373/2sAYBbf9a7
```2 **Swagger :**
```bash
https://https://air-hopper-api.padek.tech/api-docs
```