This system allow users to fund their account, transfer funds and withdraw from their account, and also subscribe to Real virtual credit card
Application is still under developement, new features may be added weekly
- Basic Authentication (Register & Login)
- Get Profile
- Set Wallet Pin
- Fund Wallet
- Verify Wallet Funding
- Fund Transfer
- Withdraw Fund
- Get Transactions
- Create credit card
- Freeze card
- Fund Card
- Get Card Transactions
- Gift Card
- Accept or Reject Gifted Card
- javascript
- nodejs
- mysql(Sequalize)
- express
[ ] Switch Deposit and Withdrawal from axios to the Flutterwave Rave Package
[ ] Add mailing
[ ] Add the forget password routes
[ ] Withdraw from Card
{BaseUrl}/api/v1/register
This endpoint does the followings:
- Create a user
- Create a wallet for the user
{BaseUrl}/api/v1/login
This endpoint does the followings
- Check if the user details is valid
- Generate a JWT token if the user details are valid
{BaseUrl}/api/v1/auth/profile
- This endpoint return the profile of the authenticated user.
{BaseUrl}/api/v1/getallusers
- This endpoint return all registered users
{BaseUrl}/api/v1/wallet/set-pin
- Set wallet pin for the user because by default the wallet created during registration is null
{BaseUrl}/api/v1/wallet/fund
- Takes amount and generate payment link
{BaseUrl}/api/v1/wallet/verify
- Takes Payment Link and verifies it
{BaseUrl}/api/v1/wallet/transfer
- Transfers money from one account to another
{BaseUrl}/api/v1/wallet/withdraw
- Checks account balance and Withdraw money from users account
{BaseUrl}/api/v1/wallet/balance
- Get users account balance
{BaseUrl}/api/v1/wallet/banks
- Get all available banks used by flutterwave
{BaseUrl}/api/v1/transactions
- Get Users transactions
{BaseUrl}/api/v1/card/listcard
- List all Cards that have been created since the existence of the plartform
{BaseUrl}/api/v1/card/createcard
- Create a card for a user, depending on the card type
{BaseUrl}/api/v1/card/fundcard
- Takes amount and funds a card
{BaseUrl}/api/v1/card/pay
- End point to test if a card works by initiating payment with it
{BaseUrl}/api/v1/card/getcard
- Takes card id and return all info about that card
{BaseUrl}/api/v1/card/fetch_transcard
- Fetch transactions of a card from the flutterwave server
- We will add a card transaction table on our db to handle this soon
{BaseUrl}/api/v1/card/withdraw
- Withdraw money from card
{BaseUrl}/api/v1/card/freezecard
- Takes card id and Freeze the card
{BaseUrl}/api/v1/card/giftcard
- Gift a card to a user on the plartform
{BaseUrl}/api/v1/card/acceptcard
- Accept card that has been gifted to you
- Clone the project from github.
git clone https://github.com/Emengkeng/Depuis-Ewallet.git
git remote add origin https://github.com/Emengkeng/Depuis-Ewallet.git
- Download repository
- Uncompress to your desired directory
npm install
- You will find a file named
.env.example
on root directory of project. - Create a new file by copying and pasting the file and then renaming it to just
.env
cp .env.example .env
- The file
.env
is already ignored, so you never commit your credentials. - Change the values of the file to your environment. Helpful comments added to
.env.example
file to understand the constants.
- To run migrations
npm run migrate
- To reset migrations
npm run migrate:reset
sh dev-sript.sh
You will know server is running by checking the output of the command npm start
sh production-sript.sh
npm test
Note: Make sure you set up the test variable in the .env
file
Emenkeng Juslen
Feel free to contact me on LinkedIn
if (youEnjoyed) {
starThisRepository();
}
MIT