Giter Club home page Giter Club logo

arangobnb's Introduction

ArangoBnB

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:

  • 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.

Contributing

Project Setup

Currently, there are a couple ways to get started:

Using Docker Compose

  • 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
...

Using NPM and Self-Installed ArangoDB

ArangoDB Installation

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

Backend

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.

Dependency Management

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

Environment Variables

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

Vue Project Setup

From the project root directory run:

npm install
# or
npm run install-vue

Vue Compiles and hot-reloads for development

npm run serve

Vue Compiles and minifies for production

npm run build

Vue Lints and fixes files

npm run lint

Customize configuration

See Configuration Reference.

React Project Setup

From the project root directory run:

npm install
# or
npm run install-react

Serve the react fronted

npm run serve-react

arangobnb's People

Contributors

cw00dw0rd avatar couds avatar lostpebble avatar simran-b avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.