Ini adalah backend API untuk aplikasi Signify – Aplikasi Penerjemah Bahasa Isyarat Berbasis AI. Backend dibangun dengan Hapi.js dan menggunakan Firebase Firestore sebagai database.
- Lokal:
http://localhost:9000 - Production:
https://signify-api.onrender.com/
-
Clone repo & install dependencies
npm install
-
Buat file .env
FIREBASE_API_KEY=your_api_key FIREBASE_AUTH_DOMAIN=your_project.firebaseapp.com FIREBASE_PROJECT_ID=your_project_id FIREBASE_STORAGE_BUCKET=your_project.appspot.com FIREBASE_MESSAGING_SENDER_ID=your_sender_id FIREBASE_APP_ID=your_app_id JWT_SECRET=your_jwt_secret
-
Jalankan server
npm run start
-
Register User
- Endpoint:
POST /register - Payload:
{ "name": "Yudha", "email": "yudha@example.com", "password": "password123" }- Response:
{ "status": "success", "message": "Registrasi berhasil. Silakan login." } - Endpoint:
-
Login User
- Endpoint:
POST /login - Payload:
{ "email": "yudha@example.com", "password": "password123" }- Response:
{ "status": "success", "message": "Login berhasil.", "data": { "token": "your.jwt.token", "user": { "name": "Yudha", "email": "yudha@example.com" } } } - Endpoint:
-
Get Profile (Protected)
- Endpoint:
GET /profile - Headers:
Authorization: Bearer <your_token>- Response:
{ "status": "success", "message": "Profil pengguna berhasil diambil", "data": { "name": "Yudha", "email": "yudha@example.com" } } - Endpoint:
signify-api/
│
├── config/
│ └── firebase.js # Inisialisasi Firebase
│
├── controllers/
│ └── authController.js # Logic register & login
│
├── middleware/
│ └── authMiddleware.js # JWT verifikasi token
│
├── routes/
│ └── routes.js # Semua endpoint dikumpulkan di sini
│
├── .env # Variabel lingkungan
├── server.js # Entry point
└── README.md # Dokumentasi