GithubHelp home page GithubHelp logo

tgpholly / revolution Goto Github PK

View Code? Open in Web Editor NEW
2.0 3.0 1.0 81 KB

Revolution is a modular web server that I made to fit the needs of my projects

License: MIT License

JavaScript 100.00%
webserver modular revolution

revolution's Introduction

CodeFactor Discord

What is Revolution?

Revolution is a modular web server, written in node.js and was built with my web projects in mind, but others might find a use in it.

What is Revolution for?

Basically anything web related. As long as you want to try it, it’s probably possible.

How does Revolution work?

Revolution uses a set of modules to handle various functions, there are two modules included with the repo and builds, these being consoleHelper and example_request_handler. consoleHelper is a required module and as such the server will not start without it although nothing is stopping you from making your own module with the module identifier of handle_console, however example_request_handler can be removed without consequence and is there purely to help with module development.

How do modules work?

Modules are loaded in at runtime and are completely separate from each other. Each module has a prefix, for example the request handlers have the prefix “handle_requests” and the consoleHelper has the prefix of "handle_console". These prefixes help the server to determine the function of each module.

How to use Revolution.

From source

git clone https://github.com/tgpholly/Revolution.git
cd Revolution
npm i
node .

How to install modules.

With modules you simply have to place the module inside the modules folder and start the server. The modules will automatically set themselves up and the server will start as normal.

Projects Revolution is used in

EUS

EUS-wiki

revolution's People

Contributors

littlemisssynth avatar tgpethan-alt avatar tgpholly avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

tgpethan-alt

revolution's Issues

Finish readme

Readme is largely unfinished at the moment. Any who would like to do this before I get to this is welcome to do so.
Should include:

  • How to setup
  • Information on Revolution like how it works e.g how it finds the request handler

Fix misordered code

Some parts of code in the framework and the included modules are out of order.
This should be fixed.

Check for required modules before starting server

The server has one module that is required for startup currently which is the consoleHelper.
If it's not there it will appear to work but will crash as soon as there is a call to the consoleHelper.
Some checks for this should be added

Possibly add multi request handler functionality

Currently Revolution only allows the use of a single request handler and if more than one request handler is included in the modules then the last one that was loaded will be used.

This shouldn't be the case and either

  • All request handlers that are loaded should be used when a request is taken in
  • User should be notified that there are multiple request handlers and the server will be closed.

Either one of these options can be done or if you have your own creative solution feel free to suggest it.

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.