Vivutoday national bus ticket booking system is developed with specific goals to meet the needs of both customers and bus operators, while promoting the development of the passenger transport industry in Vietnam.
- Clone the repository:
git clone https://git.rikkei.edu.vn/ojt-phenikaa/group03/api.git - Navigate:
cd api - Install
pnpmglobally:npm install -g pnpm - Check installed version :
pnpm -version - Install dependencies:
pnpm install
- Create
.env: Copy.env.templateto.env - Update
.env: Fill in necessary environment variables
- Development Mode:
pnpm start:dev - Building:
pnpm build - Production Mode: Set
NODE_ENV="production"in.envthenpnpm build && pnpm start:prod
├── biome.json
├── Dockerfile
├── LICENSE
├── package.json
├── pnpm-lock.yaml
├── README.md
├── src
│ ├── api
│ │ ├── healthCheck
│ │ │ ├── __tests__
│ │ │ │ └── healthCheckRouter.test.ts
│ │ │ └── healthCheckRouter.ts
│ │ └── user
│ │ ├── __tests__
│ │ │ ├── userRouter.test.ts
│ │ │ └── userService.test.ts
│ │ ├── userController.ts
│ │ ├── userModel.ts
│ │ ├── userRepository.ts
│ │ ├── userRouter.ts
│ │ └── userService.ts
│ ├── api-docs
│ │ ├── __tests__
│ │ │ └── openAPIRouter.test.ts
│ │ ├── openAPIDocumentGenerator.ts
│ │ ├── openAPIResponseBuilders.ts
│ │ └── openAPIRouter.ts
│ ├── common
│ │ ├── __tests__
│ │ │ ├── errorHandler.test.ts
│ │ │ └── requestLogger.test.ts
│ │ ├── middleware
│ │ │ ├── errorHandler.ts
│ │ │ ├── rateLimiter.ts
│ │ │ └── requestLogger.ts
│ │ ├── models
│ │ │ └── serviceResponse.ts
│ │ └── utils
│ │ ├── commonValidation.ts
│ │ ├── envConfig.ts
│ │ └── httpHandlers.ts
│ ├── index.ts
│ └── server.ts
├── tsconfig.json
└── vite.config.mts