Giter VIP home page Giter VIP logo

mystart's Introduction

MyStart

Why build something like this?

I don't know. I have a lot of bookmarks and there is no (proper) tooling for it. I use Google Bookmarks a lot but there is no nice add-on for both Chrome and Firefox. I use Firefox mostly as browser and I also use the bookmarks in the browser a lot. But then you suddenly think: I know I found something that I bookmarked. But where did I bookmark it in?

Features of MyStart

  • Quick search

    Searches in title, description, label and url.

  • Advanced search

    Specify a single label, part of description, part of title, part of url.

  • Bookmarklet

    I copied the one from Google that works with MyStart.

  • Statistics

    Added some statistics on source, visits and creation date. There is also a "Last visited" and "Last created" page.

  • Import

    MyStart can import from multiple sources.

  • Deduplication help

    When adding a new URL or editing an exiting one the page will show you a list of similar bookmarks that you can delete or edit.

  • User accounts

    Regular stuff: create account, change password, forgot password, set a nice picture.

Importing bookmarks

This application can import from the following sources:

Building

Do a checkout of this project. You need to following to build:

  • Minimal JDK 11 and up
  • Maven 3.* and up

Then execute the following command:

mvn clean install

Database

Create a new database (postgres) by executing:

createdb mystart    

(On start the application will create the tables)

Configuration

In the directory config there are two configuration files, one for the application and one for the logging. create copies of the files:

$ cp config/application-local.properties.example config/application-local.properties
$ cp config/logback-local.xml.example config/logback-local.xml

And customize accordingly. When you deploy it you should also have a production version.

Starting the application

For development tests

$ cd server
$ mvn exec:java

For release

  1. Go into the /opt directory.
  2. Extract the generated server-[VERSION].tar.gz. This will create a directory called mystart.
  3. Copy the mystart.service into /etc/systemd/system
  4. Reload the service deamon: systemctl daemon-reload
  5. Start the service: systemctl start mystart

Credits

mystart's People

Contributors

dependabot[bot] avatar ivolimmen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

mystart's Issues

Rewrite persistence layer

Might be handy to rewrite the persistence layer and use a proper database or NoSql store instead of serialize the data (works but it is not fancy).

Add certificate in an easy way

Did an attempt with letsencrypt.org but that failed. Also tried with self-signed works but should be simpler to setup.

Add statistics on details page

Sample a dataset of a given size (say 100?)
Count the interval (group by day having more than 1? Then by week, month and year)
Show chart with visits per determined interval

Add a version

Would be nice to show a version in the application. Can also be a date.

Advanced searching

Currently search works very simple and searches the sentence as part of any information found in the link. Would be nice to search for specifics in a label and with specifics in a title, etc.

Add web frontend

Did have a try with Angular 1.5 but failed horribly. Retry with Angular 4?

Improve logging

Currently I stream the console output (default logging) to file when starting the application

Add label management

It world be nice to drop a label. Or update all links from a label to change to a different label.

Automatically add title on adding a new link

Whe you add a new link and you start with entering the url it is possible to load the page in the background and parse the title. Maybe also change the edit screen to set the url to the top...

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.