|
|
|
@ -16,3 +16,13 @@ NoteHub's implementation aims for ultimate simplicity and performance. |
|
|
|
2. The rendering of note pages: there are HTML file tempates with placeholders, which will be trivially filled with replacements. |
|
|
|
2. The rendering of note pages: there are HTML file tempates with placeholders, which will be trivially filled with replacements. |
|
|
|
3. The LRU cache holds the rendered HTML for the most popular notes, which makes their access a static O(1) operation without any DB I/O. |
|
|
|
3. The LRU cache holds the rendered HTML for the most popular notes, which makes their access a static O(1) operation without any DB I/O. |
|
|
|
4. The server keeps corresponding models for all notes in the cache for statistics updates. These models are persisted every 5 minutes to the DB. |
|
|
|
4. The server keeps corresponding models for all notes in the cache for statistics updates. These models are persisted every 5 minutes to the DB. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
## Installation & Deployment |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
To run NoteHub as a standalone version, execute: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1. `git clone https://github.com/chmllr/NoteHub.git` |
|
|
|
|
|
|
|
2. `npm install` |
|
|
|
|
|
|
|
3. `npm start` |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
This starts a NoteHub instance on port 3000. |