feat: Define unique index on users table for email and fix minor syntax error refactor: Update permissions_guard to use claims from JWT and improve user retrieval refactor: Modify user-related service methods to accept user details directly fix: Update token generation functions to include user ID and permissions test: Update Google OAuth flow tests to reflect changes in token generation
IMPHNEN Backend Service
This repository serves as the monorepo for all backend services of IMPHNEN. It encompasses several main services:
- IMPHNEN-Backend - Provides fundamental functionalities and shared resources for other services.
- IMPHNEN-IAM - Handles identity and access management across IMPHNEN applications.
- IMPHNEN-CMS - Supports the cms services by IMPHNEN Landing Page website.
- IMPHNEN-Gacha - Supports the gacha services by IMPHNEN Gacha website.
- IMPHNEN-Dimentorin - Supports the mentoring services by IMPHNEN Dimentorin website.
- IMPHNEN-Gateway - Acts as the API gateway, routing requests to appropriate services.
- IMPHNEN-Middleware - Acts as the middleware for the API Gateway, providing authentication and authorization.
How to Install
-
Clone the repository:
git clone https://github.com/IMPHNEN/imphnen-backend-service.git cd imphnen-backend-service -
Set up the environment:
-
Copy the example environment files:
cp .env.example .envif you use windows based system
./apply-env.ps1if you use unix based system
source ./apply-env.sh -
Modify the
.envfiles with your specific configuration settings.
-
-
Install dependencies:
Ensure you have Rust installed. Then, run:
cargo fetch -
Run the seeders:
to run the seeders, run:
cargo run --bin seeder
How to Run
Development
To run the services in development mode:
-
Start the database and other dependencies using Docker Compose:
docker-compose up -d -
Run using cargo run. For example, to run the Core Service:
cargo run --bin api -
Run using cargo watch. For example, to run the Core Service:
cargo watch -x "run --bin api"
Production
For production deployment:
-
Build the Docker image:
docker build -t imphnen-backend . -
Run the Docker container:
docker run --name imphnen-backend -d --env-file .env -p 3000:3000 imphnen-backendAdjust the port and environment variables as needed.
How to Run the Tests
-
Run the tests:
cargo test -p tests
How to Contribute
-
Fork the repository and clone it locally.
-
Create a new branch for your feature or fix:
git checkout -b feat/your-feature-name -
Make your changes, commit them, and push to your forked repository.
-
Create a pull request to the
developbranch 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.