/portal

Portal: An opinionated application platform designed to run on Amazon AWS Services

Primary LanguageCoffeeScriptThe UnlicenseUnlicense

Portal 2.x Alpha

Portal: Portal = An opinionated Application Platform built on Amazon AWS + CoffeeScript + yield/generators and stream flow control.

This repository is incomplete and considered unstable, so it is not yet ready for production use.

Server Side Libraries Only: require 'portal/.coffee'

Client Side Libraries Only: require 'portal/.cjsx'

lib/async.coffee

A simplified Async flow control similar to the co library but with native Promises and without thunk support. (sort of like a co-lite) require 'portal/lib/async.coffee'

lib/controller.coffee

A simplified server-side controller library for doing yield and next() (sort of like a koa-lite)

TODO

Server

  • Process Management
    • PM2
    • Replace PM2
  • Reverse HTTP Proxy
    • Hipache (redis/elasticache)
    • Replace Hipache (redis/elasticache)
  • HTTP Server
    • Zones
    • HTTPS
    • Logging
      • Logging to Console
        • Replace Chalk
      • Logging to Database (mongo/dynamo)
      • Error Logging (redis/elasticache)
    • Options Requests
    • Templating Engine Support (ect)
      • Get Requests (html)
      • Emails
      • PDFs
      • Caching
        • Time to Live
          • Garbage collection
          • Memory Management
    • Post Requests (json)
      • Body Parse
      • Controller Class
      • Authentication
        • Sessions (redis/elasticache)
        • Accounts
          • Login
            • Permissions
          • Profiles
          • Friends
        • Shared Document Management
          • Group Permissions
      • Search
      • Create
      • Remove
      • Update
  • Testing
    • Process Management
    • Reverse HTTP Proxy
    • HTTP Server

Client

  • Build/Deploy Process
    • Clean
    • Copy Server Files
      • Update NPM Dependencies
    • Copy publicly served static files (images, pdfs, etc.)
    • Browserify/Watchify
      • .cjsx
    • Debug/Watch Build Only
      • Sourcemaps
    • Production Build Only
      • Minification
      • Gzip
    • Process Management
      • PM2 (re)Launch Configuration
      • PM2 Logs
    • Automatic Version Incrementation
    • Docs
    • Default Build Configuration and Stream Extensions
  • Client Side Libraries
    • Ajax
      • Request (api)
      • Upload
  • Testing
    • React Testing
    • Bacon Testing
    • Async Testing