Git Product home page Git Product logo

foody's Introduction

install

npm

install the package directly from github with npm

npm install [email protected]:coursera/foody.git

configure foody

copy config.js.template.txt into your module and add in your own parameters to authenticate to algolia

below are the params you will need to define

module.exports = {
  slack: {
    apiToken: '',
    token: 'x',
    webhook: '',
    botName: 'foody',
    botIconEmoji: 'bread',
  },
  www: {
    username: '',
    password: '',
    sessionSecret: '',
    base: 'foody',
    url: ''
  },
  database: '/path/to/data/foody.sqlite',
  environment: 'development'
};

create your initial sqlite tables

const sqlite = require('sqlite3');
const db = new sqlite.Database('foody.sqlite');

db.run('create table dish (id integer primary key, served_on date, title varchar(255), description text, caterer tinyint, meal tinyint)');
db.run('create table restriction (id integer primary key, title varchar(255), color text)');
db.run('CREATE TABLE meal (id integer primary key, title varchar(255), required tinyint, starttime time, endtime time)');
db.run('create table caterer (id integer primary key, title varchar(255), website text)');
db.run('create table dish_to_restriction (dish_id integer, restriction_id integer)');

wire up this router to an existing express server

this module exposes a modular express router that can be wired up to any existing express router.

here is an example of how to do that:

  var express = require('express');
  var app = express();
  var bodyParser = require('body-parser');
  var fs = require('fs');
  var path = require('path');
  var vhost = require('vhost');
  var foody = require('foody');
  var foodyConfig = require('./config.foody.js');

  app.use(bodyParser.json());
  app.use(bodyParser.urlencoded({ extended: true }));
  app.use('/foody', foody(foodyConfig));

  var server = app.listen(3000, function() {
    var host = server.address().address;
    var port = server.address().port;
  });

foody's People

Contributors

eleith avatar

Watchers

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