@@ -7,53 +7,42 @@ usage. The purpose of this Starter Kit is to show simplicity, basic concepts,
7
7
give structure and architecture examples. All parts of this implementation are
8
8
optimized for readability and understanding, but not for performance and
9
9
scalability.
10
+
10
11
So it is good for development and education. However, for production deployment,
11
- you may need the [ Metarhia Example App] ( https://github.com/metarhia/Example )
12
- (it will be released in the middle of July 2020). After your application is
13
- ready, you can easily run it in the
14
- [ Metaserverless cloud] ( https://github.com/Metaserverless ) , an open source cloud
15
- platform based on [ Metarhia technology stack] ( https://github.com/metarhia ) and
16
- [ Node.js] ( https://nodejs.org/en/ ) .
12
+ you may need the [ Metarhia Example App] ( https://github.com/metarhia/Example ) an
13
+ open-source application server on the top of [ Node.js] ( https://nodejs.org/en/ ) .
17
14
18
15
## Feature list
19
16
20
- - Serve API with auto-routing, HTTP(S), WS(S)
21
- - Server code live reload with file system watch
22
- - Graceful shutdown and application reload
17
+ - Pure node.js and framework-agnostic approach
23
18
- Minimum code size and dependencies
19
+ - Layered architecture: core, domain, API, client
20
+ - Protocol-agnostic API with auto-routing, HTTP(S), WS(S)
21
+ - Graceful shutdown
24
22
- Code sandboxing for security, dependency injection and context isolation
25
- - Multi-threading for CPU utilization and isolation
26
- - Serve multiple ports in threads
23
+ - Serve multiple ports
27
24
- Serve static files with memory cache
28
25
- Application configuration
29
- - Simple logger and redirection from a console
26
+ - Simple logger
30
27
- Database access layer (Postgresql)
31
- - Persistent sessions (stored in DB)
28
+ - Persistent sessions
32
29
- Unit-tests and API tests example
33
30
- Request queue with timeout and size
34
31
- Execution timeout and error handling
35
- - Layered architecture: core, domain, API, client
36
-
37
- ## Features to be implemented in the next release
38
-
39
- - Load balancing for scaling
40
- - Prototype pollution prevention
41
- - Multiple IDEs support
42
- - Better testing
43
32
44
33
## Requirements
45
34
46
- - Node.js v12.9.0 or later (v14 preferred)
47
- - Linux (tested on Fedora 30 , Ubuntu 16, 18, 19 and 20, CentOS 7 and 8 )
48
- - Postgresql 9.5 or later (v11.8 preferred)
35
+ - Node.js v16 or later
36
+ - Linux (tested on Fedora, Ubuntu, and CentOS)
37
+ - Postgresql 9.5 or later (v12 preferred)
49
38
- OpenSSL v1.1.1 or later
50
39
- [ certbot] ( https://github.com/certbot/certbot ) (recommended but optional)
51
40
52
41
## Usage
53
42
54
43
1 . Fork and clone this repository (optionally subscribe to repo changes)
55
44
2 . Remove unneeded dependencies if your project doesn't require them
56
- 3 . Run ` npm install ` to install dependencies and generate certificate
45
+ 3 . Run ` npm ci --production ` to install dependencies and generate certificate
57
46
4 . Add your license to ` LICENSE ` file but don't remove starter kit license
58
47
5 . Start your project by modifying this starter kit
59
48
6 . Run project with ` node server.js ` and stop with Ctrl+C
@@ -65,5 +54,5 @@ Ask questions at https://t.me/nodeua and post issues on
65
54
66
55
## License
67
56
68
- Copyright (c) 2020 How.Programming.Works contributors.
57
+ Copyright (c) 2020-2022 How.Programming.Works contributors.
69
58
This starter kit is [ MIT licensed] ( ./LICENSE ) .
0 commit comments