Pointsight is a centrailzed geolocatlized api aggreagtor.
apiHandler | ||
config | ||
libs | ||
middleware | ||
proto | ||
routes | ||
static | ||
templates | ||
tests | ||
tools | ||
.eslintignore | ||
.eslintrc.json | ||
.gitignore | ||
functions.js | ||
LICENSE | ||
license-report-config.json | ||
main.ts | ||
mysqlTables.sql | ||
package.json | ||
postcss.config.js | ||
README.MD | ||
tailwind.config.js | ||
tailwind.config.js.bak |
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
- Make sure Node.js is installed
- Clone repo
- Run the
npm install
command - Create the
config/default.json
file with proper settings- Make sure
env
is set toPROD
- Make sure
maint
is set tofalse
- Make sure the database credentials are set
- Make sure
- 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
- Copy the example module folder
- Change the
main.js
to your needs.- Update the modules meta data in the
getModuleMeta()
funcion - Make sure to use the right country for your module
- Update the modules meta data in the