npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

terminal-booking-service

v1.0.1

Published

![version](https://img.shields.io/badge/version-0.0.1-blue.svg?style=flat)

Downloads

64

Readme

LPD Frontend Service - Booking (Terminal)

version

js-standard-style runtime framework technology

team-travelscript

The project includes the application for the LPD Frontend Services as a generic booking service for all frontend applications.

Motivation

The Terminal should be a generic booking service which helps all LPD frontend applications to align to all markets in case of booking workflow. The goal is to have one generic request which all frontend applications can contribute to and use it. That will make a switch to a different market much easier.

Build status

Build status of continuous integration.

Build Status Windows Build Status

Technology

Built with

Features

The service has a parameter to define for which market the booking workflow is triggered.

Installation

Clone the repository

git clone https://rndwww.nce.amadeus.net/git/scm/lpdfs/terminal-booking-service.git

Step into the new project

cd terminal-booking-service

Bootstrap the repo - this will install all npm packages, and will create an .env file which you should fill with real data. Please ask here the other contributors about the content to put in.

npm run bootstrap

Developing

Once you've created a project and installed dependencies with npm install, start a development server:

npm run dev

Alternatively, you can use the following launch configuration for VSCode (.vscode/launch.json) to start the server and connect VSCode's debugger to it automatically on every change:

{
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Nodemon debug",
      "runtimeExecutable": "nodemon",
      "runtimeArgs": ["--watch", "."],
    }
  ]
}

Nodemon looks at the main key from package.json and uses that as an entry point, so no need to manually specify src/index.ts here.

To use it, just start a debug session (no need to launch anything in advance). If you have other configurations in launch.json, make sure to select this one in the Run and Debug pane or through the Debug: Select and Start Debugging command.

To work on the schema generation, you can use the following launch.json config in a similar way:

{
  "configurations": [
    {
      "type": "node",
      "request": "launch",
      "name": "Nodemon debug schema generation",
      "runtimeExecutable": "nodemon",
      "args": [
        "${workspaceFolder}/build/model-generation/schemas.ts",
        "--verbose"
      ]
    }
  ]
}

When you select that debug config and start a session, the debugger will be restarted on any change to the source, the schema or the generation script itself.

Building

To start your application for production environment use the following command:

npm run start

Tests

To run tests for your application locally or at your CI/CD please use the following command:

npm run test

API Reference

The API reference or documentation you will find here: Bitbucket To update the documentation or reference you should use Stoplight Studio and import the Bitbucket repository. After starting the services you have access to a generated documentation version at <api-url>/docs

Folder structure

  • docs - folder where all documenations are located
    • contracts - folder for OpenAPI documentation
    • images - folder to store images or screenshots for documentation
  • src - folder where all the business logic is stored for the api
    • @types - folder for all type definitions
    • api - folder for all parts of the api
      • controllers - folder where controllers are stored
      • helpers - folder for helper functions
      • middleware - folder for middleware logic like authentication
      • mocked - folder to store mocked data objects for testing
      • models - folder for all models
      • routes - folder for all routes
        • v1 - folder for all routes for version 1
      • schemas - folder for all schemas
      • services - folder for all services to providers
      • validations - folder for validation functions
    • config - folder for configuration files
    • constants - folder for all constants
    • plugins - folder for fastify plugins
  • tests - folder for all tests files

Jenkins pipeline and Isolation zone

Jenkins pipeline is executed on each push in a branch and on opening/modifying a PR. The definition of the job is available in the Jenkinsfile in the root of the repo.

  • As part of the setup process, a Control tower isolation zone has been created: https://controltower.cicd.rnd.amadeus.net/isolationZones/terminal

  • The Jenkins folder could be found here: https://jenkins-pipeline-tchlpd.cicd.rnd.amadeus.net/job/terminal/

How to use it?

A detailed description of how the service is configured you will find here.

Contribute

How you can contribute to the project you will find here

Contributors

Team TravelScript - Confluence Page

Code of Conduct

The Code of Conduct guidelines you will find here.

License

MIT © Amadeus