Nanometers Per Millisecond

    @abler/ats-front-resources-api
    TypeScript icon, indicating that this package has built-in type declarations

    1.2.100 • Public • Published

    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 (get updates with the backend developers. Not required to front project properly)
    • rbenv v2.7.6 (get updates with the backend developers. Not required to front project properly)
    • nvm: node v14, npm 6
    • yarn

    Certify you are using node v14 before code or update client projects, otherwise they will throw errors.

    Main command before local code

    • yarn link - (inside the resources package root)

    Candidates project manually setup

    • Inside the resources package
      • rake candidate_setup
        • if something went wrong, delete the folder ~/.ats/ats-front-candidate/

    Company project manually setup

    • Inside the resources package
      • rake company_setup
        • if something went wrong, delete the folder ~/.ats/ats-front-company/

    All the setup commands can be found in the Rakefile in the resources package

    Projects

    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 and backend.backup files from someone in the industry and paste them into the tools/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

    Update client projects (company and candidate) resource package and push to dev:

    yarn client-upgrade-resources

    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

    Deploy instructions

    Requirements:

    • Permission on github to push in dev and master/main
    • To have a user on npmjs (request to Guizão)
    • Attention: Every test and lint must pass, otherwise the CI/CD will fail

    Steps:

    • yarn publish - This will ask for the new project version. It will be necessary to use the npmjs user and a One time password that will be sent to your Abler email
    • git push - To set the new version in Github repository
    • yarn client-upgrade-resources - It will get the last version of the resources package and set to the projects and push to dev
      • If It's necessary to update only one project. Use candidate-upgrade-resources or company-upgrade-resources
    • Deploy to production Open Pull Request from dev to master on candidates project and company project

    Install

    npm i @abler/ats-front-resources-api

    DownloadsWeekly Downloads

    189

    Version

    1.2.100

    License

    MIT

    Unpacked Size

    5.51 MB

    Total Files

    3191

    Last publish

    Collaborators

    • dhouglas
    • renang
    • ablerdev
    • pedroabler