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": "[email protected]", "password": "123456789", "name": "Faishal Ananta Ridha" }
- Endpoint:
/auth/login
- Method:
POST
- Description: Authenticate user by email and password to obtain access token.
- Body:
{ "email": "[email protected]", "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": "[email protected]", "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)