@abler/ats-front-resources-api 中文文档教程
ats-front-resources-api
该包负责为 Abler 的 ATS 前端项目提供业务逻辑和基础设施资源。
安装包
yarn add @abler/ats-front-resources-api
Development
要开始开发,您需要安装所有 api 和节点依赖项。
Requirements
- docker
- docker-compose
- rails v6.0.3
- rbenv v2.7.1
- nvm: node v14, npm 6
- yarn
Projects
- Api: http://localhost:3000/
- Api documentation: http://localhost:8080/
- Admin: http://admin.lvh.localhost:3000/login
- Candidate: http://candidate.lvh.localhost:3001
- Company: http://empresas.lvh.localhost:3000/login or http://subdominiodaempresa.lvh.localhost:3000/login
Thunder Client for VSCode envirioment and collection
导入环境 tools/server/thunderClient/environment.json
导入集合 tools/server/thunderClient/collection.json
注意:获取 < code>.env 和
backend.backup
业内人士的文件,粘贴到tools/server/
文件夹
设置服务器,安装依赖:
yarn setup
启动api服务器:
yarn server
构建代码:
yarn build
链接包本地:
yarn link
Lint你的代码:
yarn lint
运行所有测试:
yarn test
代码生成器:
yarn plop
发布包代码:
yarn publish
其他开发环境命令:
rake
Folder Structure and Files
这里描述了这个包采用的文件夹结构。
├── src - Folder with source
│ ├── Application - Folder with implementation of bounded context abstraction
| │ └── Bounded Context - Folder with delimited context name
| │ └── Version - Folder with delimited context version application
| │ └── Domain - Folder with domain name
│ ├── BoundedContext - Folder with bounded context abstraction
| │ └── Bounded Context - Folder with delimited context name
| │ └── Domain - Folder with domain name
| │ ├── Use Case - Folder with domain use cases
| │ │ └── Command.ts - Implementing a use case command
| │ └── Repository.ts - Abstract domain repository
│ ├── Domain - Folder with domain layer
| │ ├── Aggregate - Folder with domain aggregates
| │ ├── Authentication - Folder with domain authentication
| │ └── Entity - Folder with domain entity
| │ └── ValueObject - Folder with domain value objects
│ └── Infrastructure - Folder with infrastructure layer
| ├── Assets - Folder with assets files
| ├── DataMapper - Folder with data mappers from api
| ├── Nuxt - Folder with nuxt UI implmentation
| ├── Support - Folder with support classes
| └── Vue - Folder with vue tools consuming application layer
├── tools - Folder with required projects and tools
| ├── client - Folder with client applications
| ├── plop - Folder with plop
| │ ├── Templates - Folder with plop templates
| │ └── plopfile.ts - Plop config
| └── server - Folder with Application layouts
| ├── .env - Ats-monolith env
| ├── backend.backup - Ats-monolith backup
| └── docker-compose.yml - Docker-composer with required containers
├── .eslintignore - Eslint ignore files
├── .eslintrc.js - EsLint config file
├── .gitignore - Git ignore files
├── .npmignore - Npm ignore files
├── *.d.ts - Types config from typescript
├── jest.config.js - Test config
├── package.json - Dependencies and scripts
├── Rakefile - Rake tasks
├── README.md - This file
├── tsconfig.json - Typescript configuration
└── yarn.lock - Dependencies lock versions
ats-front-resources-api
This package is responsible for supply the business logic and infrastructure resources for the Abler's ATS Frontend projects.
install package
yarn add @abler/ats-front-resources-api
Development
To start development you will need to install all api and node dependencies.
Requirements
- docker
- docker-compose
- rails v6.0.3
- rbenv v2.7.1
- nvm: node v14, npm 6
- yarn
Projects
- Api: http://localhost:3000/
- Api documentation: http://localhost:8080/
- Admin: http://admin.lvh.localhost:3000/login
- Candidate: http://candidate.lvh.localhost:3001
- Company: http://empresas.lvh.localhost:3000/login or http://subdominiodaempresa.lvh.localhost:3000/login
Thunder Client for VSCode envirioment and collection
Environment to import tools/server/thunderClient/environment.json
Collection to import tools/server/thunderClient/collection.json
Note: Get the
.env
andbackend.backup
files from someone in the industry and paste them into thetools/server/
folder
Setup server and install dependencies:
yarn setup
Start api server:
yarn server
To build the code:
yarn build
Link the package local:
yarn link
Lint your code:
yarn lint
Run all tests:
yarn test
Code generator:
yarn plop
Publish package code:
yarn publish
Other development environment commands:
rake
Folder Structure and Files
Here are described the folder structure adopted for this package.
├── src - Folder with source
│ ├── Application - Folder with implementation of bounded context abstraction
| │ └── Bounded Context - Folder with delimited context name
| │ └── Version - Folder with delimited context version application
| │ └── Domain - Folder with domain name
│ ├── BoundedContext - Folder with bounded context abstraction
| │ └── Bounded Context - Folder with delimited context name
| │ └── Domain - Folder with domain name
| │ ├── Use Case - Folder with domain use cases
| │ │ └── Command.ts - Implementing a use case command
| │ └── Repository.ts - Abstract domain repository
│ ├── Domain - Folder with domain layer
| │ ├── Aggregate - Folder with domain aggregates
| │ ├── Authentication - Folder with domain authentication
| │ └── Entity - Folder with domain entity
| │ └── ValueObject - Folder with domain value objects
│ └── Infrastructure - Folder with infrastructure layer
| ├── Assets - Folder with assets files
| ├── DataMapper - Folder with data mappers from api
| ├── Nuxt - Folder with nuxt UI implmentation
| ├── Support - Folder with support classes
| └── Vue - Folder with vue tools consuming application layer
├── tools - Folder with required projects and tools
| ├── client - Folder with client applications
| ├── plop - Folder with plop
| │ ├── Templates - Folder with plop templates
| │ └── plopfile.ts - Plop config
| └── server - Folder with Application layouts
| ├── .env - Ats-monolith env
| ├── backend.backup - Ats-monolith backup
| └── docker-compose.yml - Docker-composer with required containers
├── .eslintignore - Eslint ignore files
├── .eslintrc.js - EsLint config file
├── .gitignore - Git ignore files
├── .npmignore - Npm ignore files
├── *.d.ts - Types config from typescript
├── jest.config.js - Test config
├── package.json - Dependencies and scripts
├── Rakefile - Rake tasks
├── README.md - This file
├── tsconfig.json - Typescript configuration
└── yarn.lock - Dependencies lock versions