2025-04-03 13:59:27 +07:00
# IMPHNEN Frontend Service
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
<p style="text-align:center;">
<img src="docs/logo.svg" alt="IMPHNEN">
</P>
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
This repository is a **monorepo** for all frontend services of IMPHNEN. The monorepo includes three main applications:
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
1. **Gacha** - Gacha feature https://gacha.imphnen.dev/
2. **Backoffice** - Application for internal management.
3. **Dimentorin** - Application for mentoring services.
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
## How to install
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
1. Clone this repository:
```sh
git clone https://github.com/IMPHNEN/imphnen-frontend-service.git
cd imphnen-frontend-service
` ``
2. Install all dependencies:
` ``sh
npm install
` ``
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
## How to run
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
### Development
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
Use the following commands to run in development mode:
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
- **Gacha**:
` ``sh
npm run gacha:dev
` ``
- **Backoffice**:
` ``sh
npm run backoffice:dev
` ``
- **Dimentorin**:
` ``sh
npm run dimentorin:dev
` ``
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
### Build
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
Use the following commands to build the applications:
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
- **Gacha**:
` ``sh
npm run gacha:build
` ``
- **Backoffice**:
` ``sh
npm run backoffice:build
` ``
- **Dimentorin**:
` ``sh
npm run dimentorin:build
` ``
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
### Production
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
Use the following commands to run the applications in production mode:
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
- **Gacha**:
` ``sh
npm run gacha:prod
` ``
- **Backoffice**:
` ``sh
npm run backoffice:prod
` ``
- **Dimentorin**:
` ``sh
npm run dimentorin:prod
` ``
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
### Storybook
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
This repository uses Storybook to develop, test, and document UI components in an isolated and interactive environment. Below are the commands to work with Storybook:
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
- **Run Storybook**
This command starts Storybook in development mode, allowing you to view and test UI components interactively.
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
` ``sh
npm run ui:storybook
` ``
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
- **Run Unit Test**
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
This command runs unit tests for the UI components to ensure they function as expected.
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
` ``sh
npm run ui:test
` ``
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
- **Build Components**
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
This command generates a static build of Storybook, which can be deployment for sharing and documentation purposes.
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
` ``sh
npm run ui:build
` ``
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
## How to contribute
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
1. Fork the repository and clone it locally.
2. Create a new branch for new feature or fix:
` ``sh
git checkout -b feat/nama-fitur
` ``
3. Make changes, commit, and push to your forked repository.
4. Create a pull request to this repository ` develop` branch.
2025-03-13 00:50:45 +07:00
2025-04-03 13:59:27 +07:00
If you encounter any issues or problems, feel free to create a new Issue.