0.18.18 • Published 5 months ago

@thzero/library_server v0.18.18

Weekly downloads
552
License
MIT
Repository
github
Last release
5 months ago

GitHub package.json version David License: MIT

library_server

An opinionated library of common functionality to bootstrap an API application using MongoDb and Firebase. Currently either Fastify or Koa can be used as the web server; Fastify will be the focus going forward due to lack of support and updates with the Koa stack.

Requirements

NodeJs

Requires NodeJs version 18+.

Installation

NPM

Mongo

Mongo is the only currently supposed option as the server side data source.

.\bin\mongorestore --host <mongodb host name> --ssl --username <mongo user name> --password <mongo user password> --authenticationDatabase admin -d production <location of default database>

Recommended tools for managing Mongo database

Firebase

Google Firebase (https://firebase.google.com) provides the social based authentication; currently only Google social accounts are supported.

  • Add a new project
  • Setup Authentication, enabled Google in the Sign-in method.
  • Get the Firebase SDK configuration
    • Go to Project Overview->Settings->Service accounts
    • Select Node.js option
    • Click Generate new private key

Configuration

The following setup for configuration is required for an application using this library_server dependency

  • Setup the configuration found in the config\development.json
    • Note that this is ignored in the .gitignore
  • Configuration looks like the following
{
    "app": {
        "auth": {
          "apiKey": "<generate a GUID as key in standard nomeclature '#######-####-####-####-############'>",
          "claims": {
            "check": <true of false, false by default>,
            "useDefault": <true of false, false by default>
          }
        },
        "cors": {
            "origin": "*"
        },
        "db": {
            "default": "mongo"
            "mongo": {
                "connection": "<mongo connection string>",
                "name": "<environment name>"
            }
        },
        "logging": {
            "level": <see https://github.com/pinojs/pino/issues/123 for logging levels>,
            "prettify": <true of false if you want prettify, if true requres 'pino-prettify' as a dependency>
        },
        "port": <port to run the server on>
    }
}
Environment Variable overrides

The following environmnent variables override the above configuration settings found in the config file.

  • AUTH_API_KEY
  • AUTH_CLAIMS_CHECK
  • AUTH_CLAIMS_USE_DEFAULT
  • CORS_ORIGIN
  • DB_DEFAULT
  • DB_CONNECTION_ATLAS
  • DB_NAME_ATLAS
  • DB_CONNECTION_MONGO
  • DB_NAME_MONGO
  • IP_ADDRESS
  • LOGGING_LEVEL
  • LOGGING_PRETTIFY
  • PORT
Development Tool Configuration
  • Include the following in the package.json for the application.
  "version_major": #,
  "version_minor": #,
  "version_patch": #,
  "version_date": "MM/DD/YYYY",
0.18.18

5 months ago

0.18.17

6 months ago

0.18.15

12 months ago

0.18.14

1 year ago

0.18.16

12 months ago

0.18.13

1 year ago

0.18.12

1 year ago

0.18.9

1 year ago

0.18.8

1 year ago

0.18.11

1 year ago

0.18.10

1 year ago

0.18.7

1 year ago

0.18.6

1 year ago

0.18.5

1 year ago

0.18.4

1 year ago

0.18.3

1 year ago

0.18.1

1 year ago

0.18.2

1 year ago

0.17.26

1 year ago

0.17.25

1 year ago

0.17.23

1 year ago

0.17.24

1 year ago

0.17.21

1 year ago

0.17.22

1 year ago

0.17.20

1 year ago

0.17.19

1 year ago

0.17.17

1 year ago

0.17.16

1 year ago

0.17.14

2 years ago

0.17.15

2 years ago

0.17.13

2 years ago

0.17.12

2 years ago

0.17.10

2 years ago

0.17.11

2 years ago

0.17.4

2 years ago

0.17.5

2 years ago

0.17.6

2 years ago

0.17.7

2 years ago

0.17.8

2 years ago

0.17.9

2 years ago

0.17.2

2 years ago

0.17.3

2 years ago

0.17.1

2 years ago

0.16.10

2 years ago

0.16.11

2 years ago

0.16.12

2 years ago

0.16.13

2 years ago

0.16.6

3 years ago

0.16.7

2 years ago

0.16.8

2 years ago

0.16.9

2 years ago

0.16.3

3 years ago

0.16.4

3 years ago

0.16.5

3 years ago

0.16.1

3 years ago

0.16.2

3 years ago

0.15.45

3 years ago

0.15.43

3 years ago

0.15.44

3 years ago

0.15.20

3 years ago

0.15.21

3 years ago

0.15.24

3 years ago

0.15.25

3 years ago

0.15.22

3 years ago

0.15.23

3 years ago

0.15.9

3 years ago

0.15.28

3 years ago

0.15.29

3 years ago

0.15.26

3 years ago

0.15.27

3 years ago

0.15.31

3 years ago

0.15.32

3 years ago

0.15.30

3 years ago

0.15.35

3 years ago

0.15.36

3 years ago

0.15.33

3 years ago

0.15.34

3 years ago

0.15.39

3 years ago

0.15.37

3 years ago

0.15.38

3 years ago

0.15.42

3 years ago

0.15.40

3 years ago

0.15.41

3 years ago

0.15.11

3 years ago

0.15.17

3 years ago

0.15.18

3 years ago

0.15.15

3 years ago

0.15.19

3 years ago

0.15.5

3 years ago

0.15.6

3 years ago

0.15.7

3 years ago

0.15.8

3 years ago

0.15.4

4 years ago

0.15.3

4 years ago

0.14.5

4 years ago

0.14.6

4 years ago

0.14.7

4 years ago

0.14.8

4 years ago

0.14.3

4 years ago

0.14.4

4 years ago

0.15.1

4 years ago

0.15.2

4 years ago

0.14.1

4 years ago

0.14.2

4 years ago

0.13.35

4 years ago

0.13.34

4 years ago

0.13.33

4 years ago

0.13.32

4 years ago

0.13.31

4 years ago

0.13.30

4 years ago

0.13.29

4 years ago

0.13.28

4 years ago

0.13.26

4 years ago

0.13.25

4 years ago

0.13.24

4 years ago

0.13.22

4 years ago

0.13.21

4 years ago

0.13.20

4 years ago

0.13.19

4 years ago

0.13.18

4 years ago

0.13.17

4 years ago

0.13.16

4 years ago

0.13.15

4 years ago

0.13.14

4 years ago

0.13.13

4 years ago

0.13.12

4 years ago

0.13.11

4 years ago

0.13.10

4 years ago

0.13.8

4 years ago

0.13.7

4 years ago

0.13.6

4 years ago

0.13.5

4 years ago

0.13.4

4 years ago

0.13.3

4 years ago

0.13.2

4 years ago

0.13.1

4 years ago

0.12.17

4 years ago

0.12.16

4 years ago

0.12.14

4 years ago

0.12.15

4 years ago

0.12.13

4 years ago

0.12.11

4 years ago

0.12.10

4 years ago

0.12.9

4 years ago

0.12.8

4 years ago

0.12.7

4 years ago

0.12.6

4 years ago

0.12.5

4 years ago

0.12.3

5 years ago

0.12.2

5 years ago

0.12.1

5 years ago

0.12.0

5 years ago

0.11.11

5 years ago

0.11.12

5 years ago

0.11.9

5 years ago

0.11.5

5 years ago

0.11.7

5 years ago

0.11.10

5 years ago

0.11.3

5 years ago

0.11.2

5 years ago

0.11.1

5 years ago

0.11.0

5 years ago

0.10.11

5 years ago

0.10.9

5 years ago

0.10.10

5 years ago

0.10.8

5 years ago

0.10.7

5 years ago

0.10.6

5 years ago

0.10.5

5 years ago

0.10.4

5 years ago

0.10.3

5 years ago

0.10.1

5 years ago

0.10.2

5 years ago

0.10.0

5 years ago

0.9.8

5 years ago

0.9.7

5 years ago

0.9.4

5 years ago

0.9.6

5 years ago

0.9.5

5 years ago

0.9.0

5 years ago

0.9.1

5 years ago

0.9.3

5 years ago

0.8.7

5 years ago

0.8.6

5 years ago

0.8.5

5 years ago

0.8.3

5 years ago

0.8.2

5 years ago

0.8.1

5 years ago

0.8.0

5 years ago

0.7.51

5 years ago

0.7.50

5 years ago

0.7.52

5 years ago

0.7.49

5 years ago

0.7.48

5 years ago

0.7.47

5 years ago

0.7.46

5 years ago

0.7.45

5 years ago

0.7.44

5 years ago

0.7.43

5 years ago

0.7.39

5 years ago

0.7.40

5 years ago

0.7.37

5 years ago

0.7.38

5 years ago

0.7.36

5 years ago

0.7.35

5 years ago

0.7.30

5 years ago

0.7.29

5 years ago

0.7.28

5 years ago

0.7.27

5 years ago

0.7.26

5 years ago

0.7.24

5 years ago

0.7.25

5 years ago

0.7.23

5 years ago

0.7.22

5 years ago

0.7.21

5 years ago

0.7.20

5 years ago

0.7.19

5 years ago

0.7.18

5 years ago

0.7.17

5 years ago

0.7.16

5 years ago

0.7.15

5 years ago

0.7.14

5 years ago

0.7.12

5 years ago

0.7.9

5 years ago

0.7.6

5 years ago

0.7.5

5 years ago

0.7.8

5 years ago

0.7.2

5 years ago

0.7.4

5 years ago

0.7.3

5 years ago

0.7.1

5 years ago

0.6.20

5 years ago

0.6.19

5 years ago

0.6.18

5 years ago

0.6.17

5 years ago

0.6.15

5 years ago

0.6.14

5 years ago

0.6.7

5 years ago

0.6.9

5 years ago

0.6.8

5 years ago

0.6.10

5 years ago

0.6.12

5 years ago

0.6.11

5 years ago

0.6.13

5 years ago

0.6.6

5 years ago

0.6.5

5 years ago

0.6.4

5 years ago

0.6.3

5 years ago

0.6.2

5 years ago

0.6.1

5 years ago

0.6.0

5 years ago

0.5.15

5 years ago

0.5.12

5 years ago

0.5.13

5 years ago

0.5.11

5 years ago

0.5.10

5 years ago

0.5.9

5 years ago

0.5.5

5 years ago

0.5.4

5 years ago

0.5.3

5 years ago

0.5.0

5 years ago

0.5.2

5 years ago

0.5.1

5 years ago

1.0.0

5 years ago