MidnightBBS Angular 4 Application
Welcome to the MidnightBBS multiple page web application developed using the Angular 4 CLI. ©2017. All rights are reserved.
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 multiple page web application is one of many modules 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 the Angular 4 CLI, and communicates with the Node.js backend through the Socket.IO module.
- Stripe api integration for payments
- both GUI and text console commands for application control
- fully device-independent responsive html5 content
- Text console panel for system output.
- text console panel for user messaging and chat
- 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
- Clone a copy of the current version from bitbucket
- Run "npm install" from the root of the created folder
- Resolve dependencies by manually installing applications and modules as required
- Run "node server.js" for simple testing of the server