Files
imphnen-frontend-service/README.md
T

118 lines
2.4 KiB
Markdown
Raw Normal View History

2025-04-03 13:59:27 +07:00
# IMPHNEN Frontend Service
2025-03-13 00:50:45 +07:00
2025-04-03 14:01:14 +07:00
<p align="center">
2025-04-03 13:59:27 +07:00
<img src="docs/logo.svg" alt="IMPHNEN">
2025-04-03 14:03:38 +07:00
</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 14:15:52 +07:00
1. **Gacha** - Application for <a href="https://gacha.imphnen.dev/" target="_blank">gacha website</a>.
2025-04-03 13:59:27 +07:00
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 14:03:38 +07:00
This command generates a static build of Storybook, which can be deployed 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.
2025-04-03 14:03:38 +07:00
2. Create a new branch for a new feature or fix:
2025-04-03 13:59:27 +07:00
```sh
2025-04-03 14:15:52 +07:00
git checkout -b feat/feature-name
2025-04-03 13:59:27 +07:00
```
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.