Skip to content

This API provides endpoints to manage users, expenses, and incomes for the SaveMoney application. Using Firebase, Firestore, and Nodejs Express.

Notifications You must be signed in to change notification settings

SaveMoneyCapstone/SaveMoney-API

Repository files navigation

REST API SAVEMONEY

Introduction

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/

User Endpoints

Register

  • 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"
    }

Login

  • Endpoint: /auth/login
  • Method: POST
  • Description: Authenticate user by email and password to obtain access token.
  • Body:
    {
      "email": "[email protected]",
      "password": "123456789"
    }

Logout

  • Endpoint: /auth/logout
  • Method: GET
  • Description: Logout the authenticated user.

Get All User Information

  • Endpoint: /api/users
  • Method: GET
  • Description: Retrieve information for all users. (Authentication required)

Get User

  • Endpoint: /api/users/me
  • Method: GET
  • Description: Retrieve information for the authenticated user. (Authentication required)

Update User

  • Endpoint: /api/users/me
  • Method: PUT
  • Description: Update information for the authenticated user. (Authentication required)
  • Body:
    {
      "email": "[email protected]",
      "name": "isallkun bangkit"
    }

Delete User

  • Endpoint: /api/users/me
  • Method: DELETE
  • Description: Delete the authenticated user. (Authentication required)

Expense Endpoints

Add Expense

  • 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"
    }

Get All Expenses

  • Endpoint: /api/users/expense
  • Method: GET
  • Description: Retrieve all expenses for the authenticated user. (Authentication required)

Get Expense By ID

  • Endpoint: /api/users/expense/:id
  • Method: GET
  • Description: Retrieve a specific expense by ID for the authenticated user. (Authentication required)

Update Expense By ID

  • 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"
    }

Delete Expense By ID

  • Endpoint: /api/users/expense/:id
  • Method: DELETE
  • Description: Delete a specific expense by ID for the authenticated user. (Authentication required)

Income Endpoints

Add Income

  • 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"
    }

Get All Incomes

  • Endpoint: /api/users/incomes
  • Method: GET
  • Description: Retrieve all incomes for the authenticated user. (Authentication required)

Get Income By ID

  • Endpoint: /api/users/incomes/:id
  • Method: GET
  • Description: Retrieve a specific income by ID for the authenticated user. (Authentication required)

Update Income By ID

  • 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"
    }

Delete Income By ID

  • Endpoint: /api/users/incomes/:id
  • Method: DELETE
  • Description: Delete a specific income by ID for the authenticated user. (Authentication required)

About

This API provides endpoints to manage users, expenses, and incomes for the SaveMoney application. Using Firebase, Firestore, and Nodejs Express.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published