A web app that allow users to bookmark mangas from scanlation sites.
Visit the website »
Report Bug
·
Request Feature
Let's face it. We all read illegal mangas from scanlation sites.
How many mangas are you currently reading? 1? 2? 10? 50? 100?
If that number is greater than a dozen, how do you keep track of them? Take note in Excel? Write down to a paper? Or even remember them all?
MangaBookmark
will take care of that for you!
Demo video:
With this web app, you can add a manga to your collection by
clicking the +
button and paste the link of the manga detail page.
MangaBookmark
features include:
- Organizing mangas by shelves (to read, reading, waiting, dropped, reread, finished)
- Search, filter mangas by name, shelf, status, created date, etc.
- Mark each chapter as read / unread
- Receive web push notifications when a new chapter is released
- Mobile friendly!
- Progressive web app (can be installed just like a native app)
Make sure you have the following installed on your system:
yarn
^1.22.5node
^18.12.1docker
^23
- Setup Google Login, Facebook Login, Cloudinary account. Make sure you have the API key and secret.
- Clone the repo
git clone https://github.com/dthung1602/MangaBookmark cd MangaBookmark
- Install NPM packages
yarn install
- In
backend
directory, copy file.env.example
to.env
and add your API keyscp backend/.env.example backend/.env
Fist we need to build assets:
cd frontend && yarn run build-assets
If you make changes to images that are in a sprite, you need to re-run this command.
yarn run watch-assets
can be used instead for convenience.
To start dev mode for both backend & front end:
# run backend on port 3000
yarn run dev-be &
# run frontend on port 3001
yarn run dev-fe &
Note
The run backend command will spin up redis, mongodb & rabbitmq with docker
Redis commander is available at localhost:8081
Rabbitmq dashboard is at localhost:15672 (credential: guest/guest)
To shut down the containers:
cd backend && yarn run down
Now you can go to http://localhost:3001 to see the page.
APIs are served both at localhost:3000
and localhost:3001
(which forwards to port 3000).
API documentation can be found at http://localhost:3001/api/docs.
This website uses Service Worker
to cache files and display push notifications so make sure you clear service worker
after making changes to the FE.
If you only wish to make changes only to the backend, you can build the frontend and let the BE serve it.
yarn run build
Everything now runs at http://localhost:3000
If you make changes to the Swagger js doc, run yarn run gendoc
to update the API doc.
To lint BE yarn lint-be
, to lint FE: yarn lint-fe
, and to lint both just run yarn lint
.
There's no test for FE (yet). yarn test-be
would obviously run test for BE.
- Set up you hosting service
- Clone this git repo to your machine
- Prepare environment
- Copy
.env.development
to.env
- Replace mock keys by your real API keys
- Set
NOVE_ENV=production
- Set
PORT
to your app's desired working port
- Copy
- Run
build.sh
- [Optional] Remove frontend folder and packages
- Start the server:
yarn run start
See the file TODO.md
and open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to be learn, inspire, and create. Any contributions you make are greatly appreciated.
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/AmazingFeature
) - Commit your Changes (
git commit -m 'Add some AmazingFeature'
) - Push to the Branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
Distributed under the MIT License. See LICENSE
for more information.
Duong Thanh Hung - [email protected]
Project Link: https://github.com/dthung1602/MangaBookmark