83 lines
2.1 KiB
Plaintext
83 lines
2.1 KiB
Plaintext
|
|
||
|
# Pointsight
|
||
|
Pointsight is a centrailzed geolocatlized api aggreagtor.
|
||
|
|
||
|
# To be done before feature lock
|
||
|
- [X] Feature to report points
|
||
|
- [ ] API usage tracking (MySQL done; influx done; limiting tbd)
|
||
|
- [X] Proper error messages, on page crash loading failure, lost connection
|
||
|
- [X] Shareable points, open by link
|
||
|
- [X] Offline version
|
||
|
- [X] 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
|
||
|
|