/website-back

Nodejs Backend for my website

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Nodejs Backend

Nodejs backend for managing and demonstrating my projects. Features currently implemeneted include:

  • DeepMindAI - Processing of images
  • Google Maps, Place Services, autocomplete lookup
  • Middleware and Express Routing
  • Winston Logging
  • Sophisticated Multiple User type based middleware routing, - Redis, Express, Custom Middleware parsing

Todos

  • Write Tests
  • Docker integration
  • PostgreSQL integration and database management for users

Tech

Made possible due to the great work by:

  • Google -google map services
  • node.js - evented I/O for the backend
  • Express - fast node.js network app framework [@tjholowaychuk]
  • PassPort - Simple, unobtrusive authentication for Node.js
  • Redis - In-memory data structures
  • Momentjs - Parse, validate, manipulate, and display dates and times in JavaScript.
  • Request - Http requests
  • Q - Promise library for javascript
  • Winston - A logger for just about anything
  • DeepAI - API for accessing Google's Deep Mind API
  • Dillinger.io - Markdown Formatting and editing

Installation

Requires Node.js v8+ to run. Although untested it may run on earlier versions just fine.

  1. npm install
  2. You will need to setup the config file see below for details
  3. Start the server with either:
    • Development Standard: npm start
    • Development Auto-reload: npm run dev
    • Production: npm run serve

Config File

Below is a template for the config json, the filename should be config.json and placed in the root directory of the application. For the DeepAI API key please see DeepAI and see the Google Console for details.

{
    "GOOGLE": {
        "TEST" : {
            "MAPS" : ""
        }, 
        
        "LIVE" : {
            "MAPS" : ""
        }
    },

    "DEEP_AI" : {
        "KEY": ""
    }
}

License


MIT