Welcome to the MidnightBBS server.
Copyright 2018. All rights are reserved.

Version: 0.3 Date: 1/10/2018
Author: Tony Gillan
Organisation: Skylight Creative


MidnightBBS is a web-based system that allows a large number of users to share messages, files and information using both a 80's retro console-based interface and a modern GUI - the best of both worlds.

The original intention of the application was to act as a fully-customisable interface to a commercial virtual worlds system, using Open Simulator for the 3D interface, and MidnightBBS for messaging, sales and payments to the virtual worlds, and access control.

The current iteration is far more versatile, and can be integrated as module within other systems such as commercial image galleries, and learning management systems. This is through a versatile JSON API, and by using the latest best-practice in open-source development using Node.JS and Angular.


This application is developed to run within the Node.js server environment hosted in a Ubuntu Linux operating system. The client-side web application environment is developed using Angular 2, and communicates with the Node.js backend through Socket.IO the module.

Front-End Features

  • Stripe api integration for payments
  • both GUI and text console commands for application control
  • fully device-independent responsive html5 content
  • Angular 2 for an interactive single page application using html5/css3/javascript
  • Text console panel for system output.
  • text console panel for user messaging and chat

Back-End Features

  • SSL security for web communications
  • JSON API for all front-end to back-end communications
  • Local file upload/download and sharing via P2P
  • Secure password salting and hashing for user privacy
  • nonce sharing for man-in-middle attack mitigation
  • Offline file system logging
  • MongoDB NoSQL information storage
  • System export/import
  • Server-2-Server communications and sync for setting up multiple server instances
  • Cached static resource sharing using Nginx web server
  • Extremely fast and scalable non-blocking communications server using Node.js
  • Tag system for all resources to allow navigation and searching for similar items
  • Follow/Like system for determining popularity of users and their resources.
  • Console and event logging to file for issue traceability. (log files rotated daily)


  • User contacts and social sharing
  • File Sharing (with P2P functionaility between multiple servers and users)
  • Personal Notes
  • Image Sharing and Gallery
  • Shopping Cart and Transaction System for resource and service sales
  • Personal Mail System
  • Public and member-based Message Boards
  • Job Tickets used for help-desk and other services
  • Project management system using nested tasks


  1. Clone a copy of the current version from bitbucket
  2. Run "npm install" from the root of the created folder
  3. Resolve dependencies by manually installing applications and modules as required
  4. Run "node server.js" for simple testing of the server