asepharyana 444c98074f feat(dimentorin): payment module - gateway-agnostic VA/QRIS with admin confirm
- app_payments table + PaymentEntity (amount from mentor mentoring_rate + service fee 2000)
- PaymentRepository (postgres) + PaymentServiceImpl (create/get/confirm/list)
- Routes: POST /payments/sessions/{id}/create, GET /payments/me, GET /payments/{id}, POST /payments/{id}/confirm
- confirm guarded by Admin/Admin Pembayaran role; ownership guard mentee-only view
- provider=manual default (swap midtrans/xendit later), e2e verified: VA+QRIS create, confirm 200, re-confirm 409, non-admin 403, foreign payment 403
2026-08-05 09:10:39 +07:00
2025-12-01 00:20:42 +07:00
2025-12-01 00:20:42 +07:00
2025-12-01 00:20:42 +07:00
2025-12-01 00:20:42 +07:00
2025-12-01 00:20:42 +07:00
2025-12-01 00:20:42 +07:00
2025-12-01 00:20:42 +07:00
2025-12-01 00:20:42 +07:00

IMPHNEN Backend Service

IMPHNEN

This repository serves as the monorepo for all backend services of IMPHNEN. It encompasses several main services:

  1. IMPHNEN-Backend - Provides fundamental functionalities and shared resources for other services.
  2. IMPHNEN-IAM - Handles identity and access management across IMPHNEN applications.
  3. IMPHNEN-CMS - Supports the cms services by IMPHNEN Landing Page website.
  4. IMPHNEN-Gacha - Supports the gacha services by IMPHNEN Gacha website.
  5. IMPHNEN-Dimentorin - Supports the mentoring services by IMPHNEN Dimentorin website.
  6. IMPHNEN-Gateway - Acts as the API gateway, routing requests to appropriate services.
  7. IMPHNEN-Middleware - Acts as the middleware for the API Gateway, providing authentication and authorization.

How to Install

  1. Clone the repository:

    git clone https://github.com/IMPHNEN/imphnen-backend-service.git
    cd imphnen-backend-service
    
  2. Set up the environment:

    • Copy the example environment files:

      cp .env.example .env
      

      if you use windows based system

      ./apply-env.ps1
      

      if you use unix based system

      source ./apply-env.sh
      
    • Modify the .env files with your specific configuration settings.

  3. Install dependencies:

    Ensure you have Rust installed. Then, run:

    cargo fetch
    
  4. Run the seeders:

    to run the seeders, run:

    cargo run --bin seeder
    

How to Run

Development

To run the services in development mode:

  1. Start the database and other dependencies using Docker Compose:

    docker-compose up -d
    
  2. Run using cargo run. For example, to run the Core Service:

    cargo run --bin api
    
  3. Run using cargo watch. For example, to run the Core Service:

    cargo watch -x "run --bin api"
    

Production

For production deployment:

  1. Build the Docker image:

    docker build -t imphnen-backend .
    
  2. Run the Docker container:

    docker run --name imphnen-backend -d --env-file .env -p 3000:3000 imphnen-backend
    

    Adjust the port and environment variables as needed.

How to Run the Tests

  1. Run the tests:

    cargo test -p tests
    

How to Contribute

  1. Fork the repository and clone it locally.

  2. Create a new branch for your feature or fix:

    git checkout -b feat/your-feature-name
    
  3. Make your changes, commit them, and push to your forked repository.

  4. Create a pull request to the develop branch of this repository.

If you encounter any issues or have questions, feel free to create a new issue in the repository.


Note: For detailed API documentation, please refer to our API Docs.

S
Description
Fork of IMPHNEN/imphnen-backend-service (mirror)
Readme
2.7 MiB
Languages
Rust 97%
Nix 2%
PowerShell 0.4%
Shell 0.4%
Dockerfile 0.2%