{"id":23687536,"url":"https://github.com/airhopper/backend","last_synced_at":"2026-02-17T18:35:04.558Z","repository":{"id":264040329,"uuid":"892077638","full_name":"AirHopper/BackEnd","owner":"AirHopper","description":"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.","archived":false,"fork":false,"pushed_at":"2024-12-23T15:29:34.000Z","size":910,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":0,"default_branch":"main","last_synced_at":"2024-12-29T23:44:52.394Z","etag":null,"topics":["bycript","docker","eslint","express","imagekit","jwt","midtrans","nodemailer","oauth","prisma","zod"],"latest_commit_sha":null,"homepage":"https://air-hopper-api.padek.tech","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AirHopper.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-11-21T13:23:06.000Z","updated_at":"2024-12-23T14:38:05.000Z","dependencies_parsed_at":"2024-12-20T12:21:19.283Z","dependency_job_id":"d682e015-9b3b-423f-ac76-994fdc722d55","html_url":"https://github.com/AirHopper/BackEnd","commit_stats":null,"previous_names":["airhopper/backend"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AirHopper%2FBackEnd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AirHopper%2FBackEnd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AirHopper%2FBackEnd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AirHopper%2FBackEnd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AirHopper","download_url":"https://codeload.github.com/AirHopper/BackEnd/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239743971,"owners_count":19689579,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bycript","docker","eslint","express","imagekit","jwt","midtrans","nodemailer","oauth","prisma","zod"],"created_at":"2024-12-29T23:45:06.420Z","updated_at":"2026-01-10T14:30:17.216Z","avatar_url":"https://github.com/AirHopper.png","language":"JavaScript","readme":"# ✈️ AirHopper Backend API\n\n[![codecov](https://codecov.io/gh/AirHopper/BackEnd/graph/badge.svg?token=VH2I0CG2CC)](https://codecov.io/gh/AirHopper/BackEnd)\n\nAirHopper 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.\n\n## 🌟 Fitur Utama\n\n- **Otentikasi Aman**: Menggunakan JSON Web Token (JWT) dan hashing password dengan bcrypt.\n- **Pencarian Rute**: Algoritma efisien untuk pencarian penerbangan, termasuk opsi transit.\n- **Manajemen Data**: CRUD untuk pengguna, penerbangan, dan pemesanan tiket.\n- **Pembayaran Online**: Integrasi dengan Midtrans untuk proses pembayaran yang lancar.\n- **Dokumentasi API**: Swagger untuk eksplorasi dan pengujian endpoint API.\n- **Email Notifikasi**: Otomatisasi email dengan Nodemailer untuk konfirmasi pemesanan.\n- **Upload Media**: Dukungan untuk upload file dengan Multer dan integrasi ImageKit.\n- **Error Tracking**: Pemantauan kesalahan dengan Sentry.\n\n## 🛠️ Teknologi yang Digunakan\n\n- **Express.js** sebagai framework utama.\n- **Prisma** untuk ORM yang kuat dan mudah digunakan.\n- **Swagger \u0026 Postman** untuk dokumentasi dan pengujian API.\n- **Midtrans** untuk gateway pembayaran.\n- **Zod** untuk validasi data.\n- **Sentry** untuk pemantauan performa aplikasi.\n\n## 🚀 Cara Menggunakan\n\n### Ikuti langkah-langkah berikut untuk menjalankan proyek ini di lokal:\n\n### Prasyarat\n\n1. Node.js versi terbaru (minimal 16.x).\n2. Database PostgreSQL atau yang kompatibel.\n3. Alat pengelola API (Postman atau sejenisnya).\n\n### Langkah Instalasi\n\n1. Clone repositori ini:\n   ```bash\n   git clone hhttps://github.com/AirHopper/BackEnd.git\n   ```\n2. Instal semua dependensi:\n   ```bash\n   npm install\n   ```\n3. Konfigurasikan file lingkungan .env:\n\n   ```bash\n        # Database\n        DATABASE_URL=\"your-database-url\"\n        DIRECT_URL=\"your-database-url\"\n\n        # Mailer\n        MAILER_USER=\"your-email-address\"\n        MAILER_PASSWORD=\"your-email-password\"\n\n        # Image Kit\n        IMAGEKIT_PUBLIC_KEY=\"your-imagekit-public-key\"\n        IMAGEKIT_PRIVATE_KEY=\"your-imagekit-private-key\"\n        IMAGEKIT_URL_ENDPOINT=\"your-imagekit-url-endpoint\"\n\n        # sentry\n        SENTRY_DSN=\"your-sentry-dsn\"\n\n        JWT_SECRET=\"secret\"\n        APP_URL=\"your-app-url\"\n        NODE_ENV=development/production\n        PORT=3000\n   ```\n\n4. Migrasi database dengan Prisma:\n   ```bash\n   npx prisma migrate dev\n   ```\n5. alankan server:\n   ```bash\n   npm run dev\n   ```\n6. Akses dokumentasi API di:\n   ```bash\n   http://localhost:3000/api-docs\n   ```\n\n## 👥 Tim AirHopper\n\nKami adalah kolaborasi antara developer Backend dan Fullstack dari program Studi Independen Kampus Merdeka - Binar Academy.\n\n- **Backend :**\n  - **Muhamad Royhan Fadhli**\n  - **Juan Verrel Tanuwijaya**\n  - **Ahmad Subhan Daryhadi**\n  - **Bima Rizqy Ramadhan**\n- **Fullstack :**\n  - **Ridhwan Tsalasah Putra**\n  - **Ryan Nicholas Purba**\n  - **M. Zaky Pria Maulana**\n  - **Joe Ferdinan**\n\n## 🖥️ API Documentation\n\n1 **Postman :**\n\n```bash\nhttps://documenter.getpostman.com/view/33280373/2sAYBbf9a7\n```\n\n2 **Swagger :**\n\n```bash\nhttps://https://air-hopper-api.padek.tech/api-docs\n```\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairhopper%2Fbackend","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fairhopper%2Fbackend","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairhopper%2Fbackend/lists"}