Code Monkey home page Code Monkey logo

zensroom's Introduction

ZensRoom

This is an open-source AirBnB-type app built using VulcanJS and developed as prototype for Zens, a Tokyo-based company.

Install

  1. Clone this repo
  2. Follow the VulcanJS install instructions.
  3. Run with npm start (or the equivalent meteor --settings settings.json).

Local Development

By default, the app will look for VulcanJS core packages (vulcan:core, vulcan:email, vulcan:forms, etc.) on Atmosphere, Meteor's package server.

For local development, it can be useful to have access to the VulcanJS codebase locally and be able to modify it if needed. You can do so by following these steps:

  1. Clone the main VulcanJS repo locally (for example, to ~/Vulcan).
  2. Inside the main repo, checkout the devel branch.
  3. Go back to the ZensRoom directory and launch your app with:
METEOR_PACKAGE_DIRS="~/Vulcan/packages" meteor --port 3000 --settings settings.json

Note that if you'd like, you can create an alias for that command in your .bash_profile file:

alias runvulcan='METEOR_PACKAGE_DIRS="~/Vulcan/packages" meteor --port 3000 --settings settings.json'

Settings

This project expects a few specific API keys, as defined in your project's settings.json (in addition to any other generic VulcanJS settings you might already have). Here's a sample file:

{
  "public": {
    "title": "Your Site Name",
    "tagline":"Your site tagline",

    "language": "en",
    "locale": "en",

    "cloudinary": {
      "cloudName": "123foo"
    },

    "stripe": {
      "publishableKeyTest": "pk_test_123foo"
    },

    "googlemaps": {
      "apiKey": "456foo"
    }
  },

  "stripe": {
    "secretKeyTest": "sk_test_123foo"
  },
  
  "defaultEmail": "[email protected]",
  "mailUrl": "smtp://username%40yourdomain.mailgun.org:[email protected]:587/",

  "oAuth": {
    "twitter": {
      "consumerKey": "foo",
      "secret": "bar"
    },
    "facebook": {
      "appId": "foo",
      "secret": "bar"
    }
  }
}

Dependencies

The ZensRoom app depends on the following VulcanJS packages:

  • vulcan:core: VulcanJS core features.
  • vulcan:forms: SmartForms component.
  • vulcan:forms-upload: Image upload form component (using Cloudinary).
  • vulcan:accounts: User accounts UI (log in/sign up/reset password/etc.).
  • vulcan:payments: Payments package using Stripe.
  • vulcan:admin: Admin dashboard.
  • vulcan:maps: Maps component.

Packages in the repo not mentioned above (vulcan:posts, vulcan:comments, etc.) are not currently used by this project but might be in the future.

See also package.json for a list of NPM dependencies.

Architecture

The code for the app is available in /packages/zensroom, split into the following directories:

  • client: contains the client entry point and any client-specific code.
  • server: contains the server entry point and any server-specific code.
  • components: contains all React components.
  • containers: contains all React containers.
  • modules: contains all other JavaScript modules.

Collections (Models)

The app uses the following collections:

  • Rooms
  • Bookings
  • Reviews
  • Users

zensroom's People

Contributors

sachag avatar xavxyz avatar tmeasday avatar comus avatar anthonymayer avatar splendido avatar bengott avatar yourcelf avatar therealedsheenan avatar schabluk avatar ibrahimcesar avatar callmephilip avatar jshimko avatar moooji avatar lyudmil avatar julien-c avatar troygoode avatar arunoda avatar yeputons avatar kikobeats avatar toam avatar durrrr91 avatar jamiewilson avatar ryw avatar saimeunt avatar queso avatar viktorminator avatar iamrommel avatar ndarilek avatar niklasdstrom avatar

Watchers

James Cloos avatar Nnenna John 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.