# Bookmark Tomb

A bookmark sync system.

Built with Springboot, Vue and MongoDB.

# Introduction

This is cross-browser sync application, only support chromium kernel browser.

Plugin Repository (opens new window)

Build with Vue, TS and Vuetify.

[Install Plugin][https://chrome.google.com/webstore/detail/bookmark-tomb-sync/igmnbfjbdpapgclchnfofacjempnmioe]

Front-End Repository (opens new window)

Build with Vue, JS and Vuetify.

Back-End Repository (opens new window)

Based on SpringBoot, and storage data in MongoDB.

# Get Start

# Install

You need firstly install unzip to extract the files from release package.





 



wget https://github.com/wzl20001001/BookmarkTomb_Back/releases/latest/download/BookmarkTomb.zip -O bookmark_tomb.zip
unzip bookmark_tomb.zip -d bookmark_tomb
rm bookmark_tomb.zip
sudo chmod +x bookmark_tomb/*.sh
# You can custom the target directory
sudo mv bookmark_tomb /usr/local/share/
/usr/local/share/bookmark_tomb/start.sh

# Develop

You can visit the API document by run the source code.

TO-DO

  • Change the captcha plugin.
  • Configure the email and database by API.
  • Simplify log to log4j, instead of nohup.
  • and so on...

# Tips

# System Config

Init System

You can init system(database and email) by webpage, and restart the system after set configurations;

You also can change the email or database configurations by web page, But we not recommend change the DB host, port or DB name. So we don't provide the Api to change the database's host, port and DBname, you only can change the database's username and password to improve the security;

You can change the email configuration as you like, you just need to ensure it can be used and the host is SMTP email server;

You also can directly change the conf file, which locates at ~/.bookmark_tomb/conf.json;

The file formate like follow:












 




 
 

 



 





// After copy, please remove the comments.
{
    // This is the port of service.
    // If you run jar by java -jar, the default port is 8080.
    "serverPort": 8081,
    // This control the switch of register.
    // If the email is disable, also can't register.
    "registerEnable": true,
    // This control the switch of email service.
    "emailEnable": true,
    // This is the configuration of database.
    // The username and password is optional, these filed should be added when your database need auth.
    "database": {
        "dbname": "bookmark_tomb",
        "port": 27017,
        "host": "127.0.0.1",
        "username": "username",
        "password": "password"
    },
    // This is the confgiration of email, we use smtp to send email.
    "email": {
        "username": "username",
        "password": "password",
        "host": "smtp.xxx.xxx",
        "port": 587
    }
}

# Front and back end deployment

If you want to deploy front end independent, you can clone the source code from front end repository.

# Words in the End

This maybe an ugly system, we will refactor the system some time later, the better version will release at last version.

Maybe after the Vue3 ecosystem matures...