Giter Club home page Giter Club logo

marketplace-api's Introduction

marketplace-api

REST API for marketplace microservice

Features

  • Moderator
  • E-commerce API(Buy and Sell)
  • Incentives
  • Referral
  • Sustainability
  • Premium user (Buyer and Seller)

Technologies used

  • Spring boot
  • Spring mvc
  • Spring data jpa
  • Hibernate validator
  • Spring security
  • Mapstruct
  • Lombok
  • Sofware used
    • MySQL
    • Postman
    • IntelliJ

Run with Docker Compose

docker-compose up -d --build

Check api endpoints in Postman

Run in Postman

marketplace-api's People

Contributors

elleined avatar

Watchers

 avatar

marketplace-api's Issues

ATM Documentation

Features

  • Send money peer to peer
  • Deposit
  • Withdraw
  • Record deposit transaction
  • Record withdraw transaction
  • Record sent money transaction

Logics

Deposit

  • 10_000 deposit limit per day
  • 500 minimum deposit
  • 10_000 maximum deposit
  • 2% of deposited amount will be deducted

Withdraw

  • 10_000 withdraw limit per day
  • 500 minimum withdraw
  • 10_000 maximum withdraw
  • 2% of withdrawn amount will be deducted

Peer to peer

  • 10_000 peer to peer limit per day
  • 2% of peer to peer amount will be deducted

Validation

Withdraw

  • Cannot sold an order if the balance after paying the transaction fee will be less than pending request withdrawal amount
  • Cannot list a product if the balance after paying the listing fee will be less than pending request withdrawal amount.
  • Cannot peer to peer if the balance after sending money will be less than pemding request withdrawal amount.

Withdraw workflow

  • When user request a withdraw it will be set as pending and the moderator will now receive that request
  • Now either the moderator will now set as release or reject that request if set as release proceed else wala na
  • After the moderator set the transaction as release it will be deducted in user account.

Deposit workflow

  • When user submits a deposit request it will be set as pending and the moderator will review the deposit transaction details
  • Now moderator has two option either release or reject it if release proceed and the funds will reflect in user wallet else wala na

Premium and Regular User

Seller

Premium seller

  • Premium seller fee 500
  • Max accepted order removed
  • Max pending order removed
  • Max order rejection per day removed
  • Max listing per day removed
  • Listing fee removed
  • Successful transaction fee lessened to 2%
  • Listing products will be prioritized in marketplace
  • Verification will be prioritized in moderator to be verified faster ##
  • Pending product will be prioritized in moderator to be approved faster
  • Withdraw request will be prioritized in moderator to be release faster ##
  • Deposit request will be prioritized in moderator to be process faster ##
  • All listing products will be prioritized in marketplace for the buyer to see first

Regular Seller

  • Max accepted order 25
  • Max pending order 25
  • Max order rejection per day 25
  • Max listing per day 25
  • Listing fee 5% of total price ng product na niregister
  • Successful transaction fee 5% total price ng order

Kaya ko ginawang ganyan may max para maenforce ko yung user na mag sold ng order para dun ko makaltas yung 5% ng total price ng order saka kung unlit accepted saka pending order na pede matanggap ni seller pede nila ispam yon para di makaltasan

Buyer

Premium buyer

  • Max order per day removed
  • Pending and accepted order will be prioritized in seller

Regular buyer

  • Max order per day 10

Refferal

Referral reward 50

Only referral reward will be given when invited user has been verified by moderator

Also every 10th invited user you will receive extra 25 so basically every 10th user you invite you will gain 75

Incentives

For the first 200 users they will receive 50 pesos as reward only if gets verified

Get inviting user bug

So when getting the inviting user of invited user it just return the invited user not the inviting user

Note: The test case for that are now annotated with @disabled for now

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.