Git Product home page Git Product logo

week-10-muhammad-avicena's Introduction

readme_header

Fancy to see you here

hi, I'm Muhammad Avicena. In this repo, I build The Financial Tracker application implemented role-based access using Node.js, Express.js, OpenAPI specification, Jest and Swagger. It's designed to help users manage and track their transfer request.

I am committed to staying up-to-date with industry trends and using the latest tools to develop innovative solutions that surpass expectations. Interested to have collaboration ? Find me on:

Linkedin Badge Youtube Badge Instagram Badge Gmail Badge

INGREDIENTS I USE ๐Ÿ“œ

  • Node.js & Express.js
  • OpenAPI Spec
  • Jest
  • Swagger UI

KEY FEATURES ๐ŸŒŸ

  • Auth
    • Login (JWT Auth) -> return a token for authorization
    • Register
  • Transfer
    • Create a transfer -> require user authentication
    • Get list of all transfer -> require user authentication
    • Get transfer by ID -> require user authentication
    • Update transfer status -> require approver/admin role
  • History
    • Get history transfer by querry -> require admin role
    • Delete history transfer -> require admin role
  • User
    • Get list of all user -> require admin role

Available Account :

{
  "username": "avicena.dev",
  "password": "avicena2023"

  "role": "admin"
}
{
  "username": "avicena.user",
  "password": "avicena2023"

  "role": "maker"
}

AVAILABLE API ๐Ÿ“ฐ

Back-end endpoint: https://transfer-api.avicena.dev

Name HTTP Method Endpoint Requirements
Login User POST /api/v1/auth/login Request Body: username: string, password: string
Register User POST /api/v1/auth/register Request Body: username: string, password: string, role: string
List All User GET /api/v1/users
List All Transfer GET /api/v1/transfers
List Transfer by ID GET /api/v1/transfer/:id Request Params: id: number
Create Transfer POST /api/v1/transfer Request Body: bank: string, amount: number, toUser: string, desc: string
Update Transfer Status by ID PATCH /api/v1/transfer/:id Request Body: status: string
Find History Transfer by querry GET /api/v1/transfer Request Body: startDate: string, endDate: string, status: string, status: string -> could find by multiple status
Delete Transfer by ID DELETE /api/v1/transfer/:id Request Params: id: number

Components

Swagger UI

Swagger UI

MongoDB

Mongo DB

Open API Validator

Open API speec

Jest - Unit Testing

Unit testing

DEPLOYMENT โš™๏ธ

Deploy

The project has been successfully deployed using Railway. You can access the production version of the website by following this link: https://transfer-api.avicena.dev.

Feel free to explore the website and try out the different features. I appreciate any feedback and suggestions to further improve the user experience.

week-10-muhammad-avicena's People

Contributors

muhammad-avicena avatar github-classroom[bot] avatar

Stargazers

 avatar

Watchers

Alvian Zachry Faturrahman avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.