Pointsight is a centrailzed geolocatlized api aggreagtor.
Go to file
Sören Oesterwind bedd69436b Inital commit 2022-03-06 18:36:36 +01:00
apiHandler Inital commit 2022-03-06 18:36:36 +01:00
config Inital commit 2022-03-06 18:36:36 +01:00
libs Inital commit 2022-03-06 18:36:36 +01:00
middleware Inital commit 2022-03-06 18:36:36 +01:00
proto Inital commit 2022-03-06 18:36:36 +01:00
routes Inital commit 2022-03-06 18:36:36 +01:00
static Inital commit 2022-03-06 18:36:36 +01:00
templates Inital commit 2022-03-06 18:36:36 +01:00
tests Inital commit 2022-03-06 18:36:36 +01:00
tools Inital commit 2022-03-06 18:36:36 +01:00
.eslintignore Inital commit 2022-03-06 18:36:36 +01:00
.eslintrc.json Inital commit 2022-03-06 18:36:36 +01:00
.gitignore Inital commit 2022-03-06 18:36:36 +01:00
LICENSE Inital commit 2022-03-06 18:36:36 +01:00
README.MD Inital commit 2022-03-06 18:36:36 +01:00
functions.js Inital commit 2022-03-06 18:36:36 +01:00
license-report-config.json Inital commit 2022-03-06 18:36:36 +01:00
main.ts Inital commit 2022-03-06 18:36:36 +01:00
mysqlTables.sql Inital commit 2022-03-06 18:36:36 +01:00
package.json Inital commit 2022-03-06 18:36:36 +01:00
postcss.config.js Inital commit 2022-03-06 18:36:36 +01:00
tailwind.config.js Inital commit 2022-03-06 18:36:36 +01:00
tailwind.config.js.bak Inital commit 2022-03-06 18:36:36 +01:00

README.MD

Pointsight

Pointsight is a centrailzed geolocatlized api aggreagtor.

To be done before feature lock

  • Feature to report points
  • API usage tracking (MySQL done; influx done; limiting tbd)
  • Proper error messages, on page crash loading failure, lost connection
  • Shareable points, open by link
  • Offline version
  • Filter sidebar

Configuration

This is the configuration with all it's defaults.

let jsonConfigGlobal = {
  fontAwesome: undefined,
  mapboxAccessToken: undefined,
  cookieSecret: undefined,
  mapquest: undefined,
  here: undefined,
  sentryDsn: undefined,
  database: {
    host: "127.0.0.1",
    user: "pointsight",
    password: "CHANGE_ME",
    database: "pointsight",
    customSettings: {
      wait_timout: 28800
    }
  },
  env: "PROD",
  maint: true,
  betaMode: false,
  port: 3000,
  adress: '127.0.0.1',
  taxonomyCacheInterval: 5,
  metrics: {
    influx: {
      enable: false,
      host: "127.0.0.1",
      database: "pointsight",
      user: "pointsight",
      password: "CHANGE_ME",
    },
    writeMetricsToMySQL: true
  }
}

How to deploy

  1. Make sure Node.js is installed
  2. Clone repo
  3. Run the npm install command
  4. Create the config/default.json file with proper settings
    1. Make sure env is set to PROD
    2. Make sure maint is set to false
    3. Make sure the database credentials are set
  5. Start the server with npm start, this starts the server on port 3000

Troubleshooting

The map stays empty

Cause: The data cannot be loaded because the API key was not imported.

Solution: Import the b03f8aaf-1f32-4d9e-914a-9a50f904833d into the apikeys table. After importing it you may use the apikey manager to change it's options.

The map is not being displayed

Cause: The maps tiles cannot be loaded as the API key is missing.

Solution: Make sure the config contains the correct apikey.

For developers

Adding a new module

  1. Copy the example module folder
  2. Change the main.js to your needs.
    1. Update the modules meta data in the getModuleMeta() funcion
    2. Make sure to use the right country for your module