This web app is being created to showcase the GeoJSON functionality of ArangoSearch and to provide an example of ArangoDB being used in a JavaScript stack.
To get started:
Some goals for the project include:
We would enjoy having anyone from the community participate in the project development! If you have any suggestions or features that you would like to be added start a discussion or open an issue.
Currently, there are a couple ways to get started:
First you need to download the most up to date dump of the DB from here
Extract the content inside the folder database/dumps. Its should looks like
dumps
|_ arangobnb.view.json
|_ arangobnb.view.json:Zone.Identifier
...
Run docker-compose up
. (The first time could take a few minutes, the docker images are beign build and the database dump its beign restored)
Now you can access the Arango Web Interface in http://localhost:8529
Vue Frontend http://localhost:8080
React Frontend http://localhost:8081
Backend (API) http://localhost:8001
This project uses features from the upcoming 3.8 version of ArangoDB. To get started you will need the nightly build version of ArangoDB. For more information on how to get a nightly build please see the nighly builds page.
Currently, the changes are in 3.8.0
so make sure to use the 3.8.0-nightly
build.
For example, if you are using docker:
docker pull arangodb/arangodb-preview:3.8.0-nightly
docker run -d -e ARANGO_ROOT_PASSWORD="test" -p 8529:8529 arangodb/arangodb-preview:3.8.0-nightly
npm run install-backend
npm run serve-backend
You should receive the following message:
ArangoBnb API Backend listening on :5000
Note that either the server_config.js
file or .env
file in the backend folder must be updated with your ArangoDB depolyment information.
Each frontend maintains its own package.json for dependencies.
The root package.json handles the installation of packages for whichever package you choose to install.
Running npm install
will install both sets of packages for Vue and React.
If you would like to only install the individual packages append the framework name. ie: npm run install-vue
This project uses .env
and .env.local
for the various environment variables needed, see the Vue docs for more info. You will mostly need to pay attention to and update the variables in .env.local
.
Since .env.local
will not be included in PR's, this list should be updated when a PR adds to these variables.
Currently, these are the needed variables.
.env
VUE_APP_API_ENDPOINT
.env.local
From the project root directory run:
npm install
# or
npm run install-vue
npm run serve
npm run build
npm run lint
From the project root directory run:
npm install
# or
npm run install-react
npm run serve-react