This API provides endpoints to manage users, expenses, and incomes for the SaveMoney application. Using Firebase, Firestore, and Nodejs Express.
Demo : https://savemoney-api-rdiyde43ea-uc.a.run.app/
- Endpoint:
/auth/register - Method:
POST - Description: Register a new user with name, email, and password.
- Body:
{ "email": "isallkun@bangkit.academy", "password": "123456789", "name": "Faishal Ananta Ridha" }
- Endpoint:
/auth/login - Method:
POST - Description: Authenticate user by email and password to obtain access token.
- Body:
{ "email": "isallkun@bangkit.academy", "password": "123456789" }
- Endpoint:
/auth/logout - Method:
GET - Description: Logout the authenticated user.
- Endpoint:
/api/users - Method:
GET - Description: Retrieve information for all users. (Authentication required)
- Endpoint:
/api/users/me - Method:
GET - Description: Retrieve information for the authenticated user. (Authentication required)
- Endpoint:
/api/users/me - Method:
PUT - Description: Update information for the authenticated user. (Authentication required)
- Body:
{ "email": "isallkun@bangkit.academy", "name": "isallkun bangkit" }
- Endpoint:
/api/users/me - Method:
DELETE - Description: Delete the authenticated user. (Authentication required)
- Endpoint:
/api/users/expense - Method:
POST - Description: Add a new expense for the authenticated user. (Authentication required)
- Body:
{ "amount": "2000", "category": "shopping", "note": "pulsa byu" }
- Endpoint:
/api/users/expense - Method:
GET - Description: Retrieve all expenses for the authenticated user. (Authentication required)
- Endpoint:
/api/users/expense/:id - Method:
GET - Description: Retrieve a specific expense by ID for the authenticated user. (Authentication required)
- Endpoint:
/api/users/expense/:id - Method:
PUT - Description: Update a specific expense by ID for the authenticated user. (Authentication required)
- Body:
{ "amount": "10000", "category": "shopping", "note": "pulsa byu" }
- Endpoint:
/api/users/expense/:id - Method:
DELETE - Description: Delete a specific expense by ID for the authenticated user. (Authentication required)
- Endpoint:
/api/users/incomes - Method:
POST - Description: Add a new income for the authenticated user. (Authentication required)
- Body:
{ "amount": "2000", "category": "salary", "note": "Gaji Bulanan" }
- Endpoint:
/api/users/incomes - Method:
GET - Description: Retrieve all incomes for the authenticated user. (Authentication required)
- Endpoint:
/api/users/incomes/:id - Method:
GET - Description: Retrieve a specific income by ID for the authenticated user. (Authentication required)
- Endpoint:
/api/users/incomes/:id - Method:
PUT - Description: Update a specific income by ID for the authenticated user. (Authentication required)
- Body:
{ "amount": "60000", "category": "salary", "note": "Gaji Mingguan" }
- Endpoint:
/api/users/incomes/:id - Method:
DELETE - Description: Delete a specific income by ID for the authenticated user. (Authentication required)