maulanasdqnandClaude Sonnet 4.6 331a4a4e88 feat: v0.3.0 — standardize codebase, centralize infra, merge QR into CMS
- Enforce axum best practices across all 13 workspace crates
  (max 200 LOC/file, no comments, no unwrap, clean architecture)
- Fix domain→infrastructure dependency inversions in imphnen-iam and imphnen-dimentorin
- Extract imphnen-storage (MinIO) and imphnen-email (Lettre) as standalone crates
- Centralize all config in ENV struct: CDN_URL, CORS_ALLOWED_ORIGINS
- Centralize SMTP through imphnen-email; remove dead HackathonConfig
- Centralize database: QR crate now shares main DB pool (single DATABASE_URL)
- Rename QR users table to qr_users to avoid collision with main users table
- Merge imphnen-qr into imphnen-cms/src/qr (13 crates, down from 14)
- Restructure imphnen-hackathon flat modules into clean architecture
- Remove all stale env vars from .env.example (SurrealDB, QR_JWT, Hackathon infra)
- Fix Dockerfile to include all current workspace crates
- Bump all crate versions 0.2.0 → 0.3.0

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