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:
- Say hello in the GitHub Discussions
- Check out the project todos:
- Primary Project board (Vue frontend & Backend tasks)
- React Project board, (thanks @couds and @lostpebble for leading the react version.)
- The dataset will need some modeling changes to take advantage of ArangoDB features so keep an eye out for changes to the dataset task #16.
- The dataset we are using can be found here. We will make new folders for new dumps when necessary, always use the most recent dump.
- We now have a community projects Slack channel, join us!
Some goals for the project include:
- Search an AirBnB dataset to find rentals nearby a specified location
- Filter these based on keywords, date, and number of guests
- Natural language search (Ex: Houses in Florida with pools.)
- Index data using ArangoSearch Views
- Use AQL for all queries
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.
VUE_APP_API_ENDPOINT
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