Skip to content

adab1ts/veinapp

Repository files navigation

Veinapp

Build Status license Commitizen friendly

Map your vicinity and search for places around.

Getting Started

This application relies on Firebase Realtime Database as its data store. So first sign in to Firebase, head to the console and create your project. Then grab your initialization data. More on this below.

This application also relies on Mapbox as its geocoding service provider. Create a Mapbox account and grab your Access token as explained here.

Now, fork the main Veinapp repository from GitHub and then...

# Install Angular CLI globally
npm install -g @angular/[email protected]

# Clone your fork (https://help.github.com/articles/cloning-a-repository/):
git clone [email protected]:<github username>/veinapp.git

# Go to the project directory:
cd veinapp

# Install project dependencies:
npm install

# Edit Mapbox configuration files and update it with your data
cp src/config/mapbox.{ts.sample,ts}
vi src/config/mapbox.ts

cp src/config/mapbox.{ts.sample,prod.ts}
vi src/config/mapbox.prod.ts

# Edit Firebase configuration files and update it with your data
cp src/config/firebase.{ts.sample,ts}
vi src/config/firebase.ts

cp src/config/firebase.{ts.sample,prod.ts}
vi src/config/firebase.prod.ts

# To populate firebase with the list of places and their coordinates:
# 1. Place your JSON/CSV data files at db/data folder following this structure:
#    [{
#      "name": "the name",
#      "address": "the address",
#      "zip": "00000",
#      "city": "the city",
#      "telephone": "999 999 999",
#      "email": "[email protected]",
#      "web": "www.the-web.com",
#      "group": "the group",
#      "type": "the type",
#      "latitude": "00.00000",
#      "longitude": "00.00000"
#     },
#     ...
#    ]

# 2. In your console at the application root execute the following script
#    (check out the examples in the usage information):
npm run db:populate

# 3. In firebase console go to the rules tab in your project view
#    and add the following rule in order to index and have better querys:
#    "coords": {
#      ".indexOn": ["g"]
#    }
    
# Run the development server:
ng serve

Check the Contributing Guidelines out for further information.

Contact

Email: info[@]adabits[.]org
Twitter: @adab1ts
Facebook: Adab1ts
LinkedIn: adab1ts

Contributors

Contributions of any kind are welcome!

laklau zuzust plastikaweb
Klaudia Alvarez Carles Muiños Carlos Matheu

License

See the LICENSE file for license rights and limitations.