Sign inSign up

tulir/lindeb

By tulir

•Updated over 8 years ago

A simple link manager with powerful search

Image
0

297

tulir/lindeb repository overview

A simple link manager with powerful search. Built using Go, React, Elasticsearch and MariaDB.

The official deployment is available at lindeb.mau.lu⁠.

⁠Course info

This is also a database exercise project.

For the duration of the exercise project course, the repository will contain some useless files, such as this README section, the course documentation⁠ (also in Google Docs⁠), SQL query files⁠ and the following links to some React components:

⁠API

⁠Technologies

⁠Backend

The backend uses Go⁠ with gorilla/mux⁠ for routing and go-sql-driver/mysql⁠ as the database driver. It has a REST-like JSON API that is documented with an OpenAPI⁠ document. The specification file is available here⁠ and a graphical API explorer is available here⁠.

MariaDB⁠ is the recommended database management system, but anything compatible with MySQL should work. The search system uses Elasticsearch⁠ as its backend. Since the backend is written in Go, the server running the backend does not need any language-specific runtimes. However, a DBMS instance and an Elasticsearch instance must be available.

⁠Frontend

The frontend uses React⁠, Sass⁠ and modern JavaScript syntax. Support for old browsers is not guaranteed. The latest version of Firefox is recommended, but Chrome will work too.

⁠Objective

The goal of this project is to create an easy-to-use system for saving links and searching saved links.

⁠Scope
  • Authentication. Saved links are always private.
  • Saving links and deleting saved links
    • Saving a link should only require one or two clicks on the page being saved
  • Tagging and untagging links, managing tags
    • Adding descriptions for tags
  • Browsing links
    • Sorting and filtering by different fields (e.g. date added, by-domain, by-tag)
    • Searching for links based on page data (e.g. body content, title)
⁠Extended scope
  • Sharing links to external platforms
  • Shortening links using mau\Lu⁠
  • Advanced authentication
    • 2-factor auth (U2F and/or TOTP)
    • Email verification
      • Magic sign-in links
      • Password resets
⁠Out of scope
  • All internal social features

Tag summary

Content type

Image

Digest

Size

3.7 MB

Last updated

over 8 years ago

docker pull tulir/lindeb