All Projects → ServerHubOrg → serverhub-mvc

ServerHubOrg / serverhub-mvc

Licence: MIT License
Fast and reliable MVC framework for Nodejs

Programming Languages

typescript
32286 projects
javascript
184084 projects - #8 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to serverhub-mvc

OwOFrame
A lightweight MVC framework for PHP
Stars: ✭ 46 (+187.5%)
Mutual labels:  mvc
generator-espress
an opinionated yeoman generator that scaffolds a mvc express webapp completely in es6
Stars: ✭ 20 (+25%)
Mutual labels:  mvc
Bingo-Framework
MVC framework for PHP
Stars: ✭ 15 (-6.25%)
Mutual labels:  mvc
simpleDjangoProject
simpleDjangoProject
Stars: ✭ 30 (+87.5%)
Mutual labels:  mvc
MVC
基于MVC+EF6+EasyUI搭建的后台管理系统(粗糙版,精华版之后发布)
Stars: ✭ 14 (-12.5%)
Mutual labels:  mvc
startmvc
超轻量php框架 lightweight php framework
Stars: ✭ 25 (+56.25%)
Mutual labels:  mvc
pagd
Static site generator in python.
Stars: ✭ 57 (+256.25%)
Mutual labels:  mvc
laravel-make-service-command
🚀 Create a service layer for Laravel 5+ (Supported: Laravel 9)
Stars: ✭ 43 (+168.75%)
Mutual labels:  mvc
express-mvc
A light-weight mvc pattern for express framework with minimum dependencies
Stars: ✭ 23 (+43.75%)
Mutual labels:  mvc
PyQt4 locadora
PyQt4 - Locadora de Veículos
Stars: ✭ 24 (+50%)
Mutual labels:  mvc
ios-architecture-example
Architecture pattern simple examples in iOS. You can compare differences in MVC, MVP, MVVM-Delegate and MVVM-Rx for same feature
Stars: ✭ 16 (+0%)
Mutual labels:  mvc
W
Framework pédagogique de la WebForce3
Stars: ✭ 10 (-37.5%)
Mutual labels:  mvc
espresso.js
Super minimal MVC library
Stars: ✭ 521 (+3156.25%)
Mutual labels:  mvc
Desenvolvimento-Android-do-absoluto-zero-para-iniciantes
Visite meu site e conheça todos os meus cursos 100% on-line.
Stars: ✭ 33 (+106.25%)
Mutual labels:  mvc
java-bible
🍌 我的技术摘要
Stars: ✭ 2,950 (+18337.5%)
Mutual labels:  mvc
php-mvc
PHP MVC ⦿ Dockerized • Composer • RESTful API • Memcached • cron • WebSocket
Stars: ✭ 17 (+6.25%)
Mutual labels:  mvc
leafMVC
MVC "Framework" created from Leaf PHP Framework
Stars: ✭ 25 (+56.25%)
Mutual labels:  mvc
kiwi
A graphical UI framework on top of PyGTK
Stars: ✭ 24 (+50%)
Mutual labels:  mvc
Library
JavaWeb图书销售管理系统/网上书店
Stars: ✭ 77 (+381.25%)
Mutual labels:  mvc
mvc-tree
🌳 A chronological visualization of the family of MVC patterns.
Stars: ✭ 40 (+150%)
Mutual labels:  mvc

Project introductions, documents and tutorials, see serverhub.io.

Build Status FOSSA Status Coverage Status

我们为中国大陆,中国香港、澳门和中国台湾和其他国家地区使用简体中文的开发者提供了中文说明文档

For developers using simplified Chinese in China (including Mainland China, Hongkong and Macau Special Administrative Regions, and Taiwan, Province of China) and any other countries or regions, we provide Simplified Chinese version of README as well.

ServerHub is the collection of a Node.js framework, a CLI tool and a template using the latest stable features.

ServerHub MVC (serverhub-mvc) is a fast and light MVC web server framework that runs on Nodejs.

For details of the CLI tool, checkout serverhub-cli or serverhub-cli under our orgnization repositories.

What Can ServerHub Do

ServerHub can do a lot of things now. No matter you want to start a static website or build a dynamic web service, it is super convenient. Let's see some things most people would like to do with ServerHub:

  1. Static website: Support downloading and caching. Your frequently used resources will be cached in memory. Once they are changed, ServerHub will automatically refresh the cache and make sure they are the lastest.
  2. Dynamic website: Support MVC architecture. With custom route, all requests will be send to corresponding handlers.
  3. WebAPIs: Inspired by ASP.NET, ServerHub can also be used to provide WebAPI service for your applications.
  4. WebSocket: WebSocket is now supported for both HTTP and HTTPS. You may need to make sure your TLS certificate is valid (self generated may not work).
  5. Proxy*: (To be tested).

Latest Updates

v1.6.0 adds WebSocket support. v1.5.0 adds middleware system to the master/dev branch and now ready to release, with the ability to rewrite URL of resources. v1.4.1 updated the runtime log and fix some unclear annotations. v1.3.0 updated route rules and engine. v1.2.0 supports runtime and error log service. They are available through global object. v1.1.0 supports auto-redirect HTTP traffic to HTTPS. Asynchronous plugins are supported since v1.0.8. TLS supported since v1.0.6, you can use your self-signed or verified certificate to hold an HTTPS connection for your websites. Module style of ServerHub controllers now supported (since v1.0.4). You can import your own libraries in your controllers now. Legacy ways of scripting controllers will also be supported. But a little workaround should be taken into consideration (deprecated usage).

Detailed update information could be found on CHANGELOG.md (English only).

Install

npm i --save serverhub-mvc

or install a template with serverhub-cli, run

npm i -g serverhub-cli
cd path/to/you/workspace/
serverhub-cli init [project-name] # This will generate a new directory for you project.

Usage

In your entry script:

const serverhub = require('serverhub-mvc');

serverhub.Run({
    BaseDir: __dirname // BaseDir is required.
});

Run() has 2 parameters (the 2rd one is not required since v0.0.91):

  1. config: Object

    The config file defines base directory of the server, which is current of app.js. There's a Controller property that specifies which controller to register. And then ServerHub will try to search and parse under controller file. When you are writing, you may check this document or search under node_modules/serverhub-mvc/index.d.ts file along with all your dependecies, which I've already provided the type definitions there.

  2. route?: Function (callback) (no more required since v0.0.91)

    This function will have one parameter that refers to server route object, you can register custom route rule or ignore certain matches (I've not finished developing that feature).

Notice: If you are using macOS or Linux systems like Ubuntu or Debian, then port under 1024 needs root privilege. So you may need sudo (or anything like this) to run the node app.js command.

Documents

We've provided documents/tutorials for both English and Chinese

Feel Free to Contact

Question us through [email protected] or tweet to DevChache on twitter.

Leave an issue if you find any bugs. But please notice, DO comment, send pull request or anythings like that IN ENGLISH. But I do have a Chinese version of README file under doc/, you may check it out. Thank you very much.

If you are willing to receive more information, stories, tutorials and release information, please subscribe our newsletter with your favorite mail address.

License

MIT

FOSSA Status

Support

Thanks JetBrains, ServerHub Open Source Projects benifits from their kindness!

JetBrains

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].