Expense Tracker API adalah sebuah API yang dibangun menggunakan NestJS untuk melacak pengeluaran. API ini menyediakan fitur-fitur seperti mendaftar sebagai pengguna baru, otentikasi dengan JWT, menambah, memperbarui, menghapus, dan melihat pengeluaran dengan berbagai filter.
- Autentikasi JWT: Untuk melindungi endpoint dan mengidentifikasi pengguna.
- Manajemen Pengeluaran: Menambah, memperbarui, menghapus, dan melihat pengeluaran dengan filter.
- Kategori Pengeluaran: Groceries, Leisure, Electronics, Utilities, Clothing, Health, Others.
- NestJS: Framework untuk membangun server-side aplikasi.
- MongoDB: Database NoSQL untuk menyimpan data pengeluaran.
- JWT: Untuk otentikasi dan manajemen sesi pengguna.
Pastikan Anda telah menginstal:
- Node.js (versi terbaru)
- MongoDB (berjalan di mesin lokal atau di server)
Kloning repositori ini
git clone https://github.com/username/expense-tracker-api.git
cd expense-tracker-api
Instal dependensi
npm install
Buat file .env
Buat file .env
di root proyek dan tambahkan konfigurasi berikut:
MONGO_URI=mongodb://localhost:27017/expense-tracker
JWT_SECRET=your_jwt_secret_key
Jalankan aplikasi
Untuk menjalankan aplikasi dalam mode pengembangan:
npm run start:dev
Jalankan pengujian
Untuk menjalankan pengujian E2E:
npm run test:e2e
Mendaftar User Baru
- Endpoint: POST /auth/signup
- Body:
{
"email": "user@example.com",
"password": "password123"
}
Masuk
- Endpoint: POST /auth/login
- Body:
{
"email": "user@example.com",
"password": "password123"
}
- Endpoint: POST /expenses
- Header: Authorization: Bearer <JWT_TOKEN>
- Body:
{
"amount": 100,
"description": "Grocery shopping",
"category": "Groceries",
"date": "2023-10-10"
}
- Endpoint: GET /expenses
- Header: Authorization: Bearer <JWT_TOKEN>