Skip to content

topicquests/tqks-featherweight-prototype

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Topic Quests FeatherWeight Prototype

Quasar Feathers Structured Conversation

A Simple experiment in Structured Conversation.

Background

Given that this platform relies on both Feathers.js and Quasar-Framework, it's useful to install both as follows

  • npm install -g @feathersjs/cli
  • npm install -g quasar-cli

Preparation

Install Node 10 on a *nix environment. We haven't tested this on Windows.

Automatic Development Setup

We've created a Plume, a script to help you get set up. Just open a terminal, navigate to the root of the project and run this command:

> ./bin/plume/setup.sh

Follow the directions. If you have any difficulty, feel free to contact @ncko.

Manual Development Setup

Assuming your name is Barney :/

Clone config/dev.json

cp api/config/dev.json api/config/barney.json

Git ignore your file

cat "api/config/barney.json" > .gitignore

Emails

In order to send emails, you need an SMTP server. You can use your personal Gmail too.

You can also run a local SMTP server by running this command:

docker run -p 1025:1025 -p 8025:8025 mailhog/mailhog

We prefer that you get a free account from: https://mailtrap.io/register/signup

Once you get your API keys, populate them in config/barney.json

Database

You can use your own MongoDB instance that you can pull using Docker.

docker pull mongo
docker run --name tq-mongo -p 27017:27017 mongo:latest

Update mongodb and emailconfig in /api/config/barney.json

Make yourself admin

In config/overrides.json, change the adminEmail to your main test account email.

Building

Two terminals.

  • Root: npm install
  • /api: npm install

Running

  • Root: npm run dev
  • /api: npm run dev

Production Mode

npm install -g pm2;

quasar build;
pm2 start ecosystem.config.js;

Docker

docker-compose up

Heroku

  1. Create account
  2. Install CLI:
curl https://cli-assets.heroku.com/install.sh | sh
  1. heroku login --interactive
  2. heroku apps:create tqbarney
  3. Add Mailgun and Mlabs free plans
  4. heroku config:Set NODE_ENV=heroku
  5. git push heroku master

Demo: http://tqmaster.herokuapp.com

Environmental Overrides

Pass the following env vars to override initial behavior

IS_PRIVATE_PORTAL=false,
REQUIRES_INVITE=false,
ADMIN_EMAIL="sue@sixpack.com"

Other than Localhost

  • /config/index.js proxyTable target must reflect the domain, not localhost
  • /src/api.js socket must reflect the domain, not localhost

Made from quasar-feathers-tutorial