NovelReview is a website where you can write reviews for novels available on WebNovel and MTLnovel.
NovelReview offers several features:
- Search for novels on WebNovel.com and MTLNovel.com
- Add novels to your library
- Provide details like the last chapter read, tags, and your review
- Search and sort your library based on title, tags, and description
- Separated the backend in different files for clarity
- Migrated to TypeScript the backend
- Fixed a few minor bugs (height of images in library, "show more" button)
- Added HTTPS
- Added Authentication
- Add HTTPS
- Add an animation when loading edit page to prevent user from clicking other stuff.
- Add password request for modifications, to prevent unwanted requests.
- NodeJS
To get started:
- Clone the repository:
git clone https://github.com/DeeJack/NovelReview
frontend/.env [OPTIONAL] [example in frontend/.env-example]:
- Set the server's IP address (if they are not in the same host):
- Create a
.envfile in thefrontend/directory - Set the
VITE_API_URLto the IP address for the server. By default, the value will be set tohttp://127.0.0.1:3000(only local) - Set
VITE_PORTto change the frontend's port (default: 5000)
- Create a
backend/.env [example in backend/.env-example]:
- [REQUIRED] Set BCrypt's secret key: create a
.envfile in thebackend/directory, and set theJWT_SECRETto a random private key (any alphanumeric string). - [OPTIONAL] Set the backend's port: set
PORT=3000, or whichever port you prefer (3000 by default) - [OPTIONAL] Set
USE_HTTPS=trueif you want the server to use HTTPS. The key needs to be inssl/server.key(in the root folder of the project,NovelReviewby default, not inbackend/) The certificate is inssl/server.cert
- Build the frontend:
npm run buildinfrontend/ - Build the backend:
npm run buildinbackend/ - Run the backend:
npm run startinbackend/
If you have make:
- Build the project:
make buildin the root directory - Run the project:
make allin the root directory - [OPTIONAL] To run the dev version (with automatic reload on changes):
make frontend(or backend).
Once done, access the frontend from http://localhost:3000/ (by default).
You need to install all the libraries listed on the file install_linux.sh.
Then, if you are using a computer that doesn't have a display (probably a VPS), you need to use the commands:
Xvfb&(not sure if needed)npm run build,xvfb-run -a node dist/Server.js, this will create a virtual display for the browser.- [MAKE] If you have make, you can just run
make linuxaftermake build, to start the server with xvfb.
- VueJS: Frontend development
- NodeJS + Express: Backend development
- SQLite: Local database storage
| Library pc | Search pc |
|---|---|
![]() |
![]() |
| Library phone | Search phone |
|---|---|
![]() |
![]() |
For licensing information, refer to LICENSE file.



