maulanasdqnandClaude Sonnet 4.6 2ae43b3bcc refactor: centralize auth system across all modules
All modules now use the main IAM JWT (ACCESS_TOKEN_SECRET) for authentication,
removing three separate auth systems (hackathon Supabase, hackathon JWT, QR JWT).

Changes:
- hackathon: replace HackathonJwtService with decode_access_token() from imphnen-libs
  - remove entire src/auth/ (Supabase signup/login/GitHub/forgot-reset)
  - remove common/hackathon_jwt.rs, common/supabase_client.rs
  - remove Supabase from HackathonConfig (JWT, GitHub OAuth, Supabase anon/service keys)
  - replace Supabase Storage with MinioService from imphnen-libs
  - all route jwt params removed; hackathon_router takes MinioService instead
- qr: replace QrJwtService with decode_access_token() from imphnen-libs
  - remove entire src/auth/ (register/login/Google OAuth/refresh)
  - remove common/qr_jwt.rs, src/config.rs
  - qr_auth_middleware now lazy-upserts users into QR DB on first access
  - qr_router(pool) — no config needed
- gateway: create MinioService once and pass to hackathon_router; qr_router simplified

Users now register/login via /v1/auth/* and use the same JWT for all endpoints.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-02 16:33:02 +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
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%