All Projects → mike-engel → Bkmrkd

mike-engel / Bkmrkd

Licence: mit
Bkmrkd is a self-hosted, lightweight bookmarking service run on node.js and rethinkdb

Programming Languages

javascript
184084 projects - #8 most used programming language
elm
856 projects

Projects that are alternatives of or similar to Bkmrkd

Scala Exercises
The easy way to learn Scala.
Stars: ✭ 2,431 (+4575%)
Mutual labels:  postgresql, functional-programming
Segnalibro
Save and comment your favorite links from the web. It's just a bookmarking application.
Stars: ✭ 14 (-73.08%)
Mutual labels:  bookmark, self-hosted
Reminiscence
Self-Hosted Bookmark And Archive Manager
Stars: ✭ 1,303 (+2405.77%)
Mutual labels:  self-hosted, bookmark
Serverless Aws Lambda Node Postgres
Serverless AWS Lambda with Node.js,Postgres Rest API with Sequelize.
Stars: ✭ 18 (-65.38%)
Mutual labels:  postgresql, functional-programming
Shaarli Material
Shaarli Material is a theme for Shaarli, the famous personal, minimalist, super-fast, database free, bookmarking service.
Stars: ✭ 228 (+338.46%)
Mutual labels:  self-hosted, bookmark
Es Cqrs Shopping Cart
A resilient and scalable shopping cart system designed using Event Sourcing (ES) and Command Query Responsibility Segregation (CQRS)
Stars: ✭ 19 (-63.46%)
Mutual labels:  postgresql, functional-programming
Qt Promise
Chainable promises for Qt
Stars: ✭ 48 (-7.69%)
Mutual labels:  functional-programming
Agensgraph
AgensGraph, a transactional graph database based on PostgreSQL
Stars: ✭ 1,056 (+1930.77%)
Mutual labels:  postgresql
Admin
AutoQuery + Admin UI for ServiceStack Projects
Stars: ✭ 47 (-9.62%)
Mutual labels:  postgresql
Functionalrx
FunctionalRx is a collection of constructs to simplify a functional programming approach to Java and [STABLE]
Stars: ✭ 47 (-9.62%)
Mutual labels:  functional-programming
Ddlparse
DDL parase and Convert to BigQuery JSON schema and DDL statements
Stars: ✭ 52 (+0%)
Mutual labels:  postgresql
Mangapie
This is a self-hosted server for archived manga.
Stars: ✭ 51 (-1.92%)
Mutual labels:  self-hosted
Explain
Transform postgresql explain to a graph
Stars: ✭ 50 (-3.85%)
Mutual labels:  postgresql
Perfect Postgresql
A stand-alone Swift wrapper around the libpq client library, enabling access to PostgreSQL servers.
Stars: ✭ 48 (-7.69%)
Mutual labels:  postgresql
Aclify
🔒 Node Access Control Lists (ACL).
Stars: ✭ 49 (-5.77%)
Mutual labels:  postgresql
Authentication Server
A simple authentication service to deliver JWT with Hasura claims, based on users with multiples roles stored in a Postgres database.
Stars: ✭ 48 (-7.69%)
Mutual labels:  postgresql
Hunt Entity
An object-relational mapping (ORM) framework for D language (Similar to JPA / Doctrine), support PostgreSQL and MySQL.
Stars: ✭ 51 (-1.92%)
Mutual labels:  postgresql
Kiba Plus
Kiba enhancement for Ruby ETL.
Stars: ✭ 47 (-9.62%)
Mutual labels:  postgresql
Scala Db Codegen
Scala code/boilerplate generator from a db schema
Stars: ✭ 49 (-5.77%)
Mutual labels:  postgresql
Kotlin Ktor Exposed Postgresql Rest Api
Kotlin, Ktor, Exposed, HikariCP and Postgresql based REST Api
Stars: ✭ 51 (-1.92%)
Mutual labels:  postgresql

bkmrkd

Greenkeeper badge Build Status Dependencies

bkmrkd is a self-hosted, lightweight bookmarking service running on node.js, and elm.

installation

assumptons

  1. You have node.js >= 6 installed
  2. You have npm >= 5 installed
  3. You either have postgres running, or have docker-compose installed

running bkmrkd

As of version 3, all configuration is done through environment variables. For the list of environment variables, see .env.sample.

via docker (recommended)

# using an env file
docker run --env-file .env beardfury/bkmrkd

# specifying env vars separately
docker run \
  -e DB_HOST=localhost \
  -e DB_NAME=bkmrkd_development \
  ...etc

saving

Simply drag the bookmarklet to your bookmarks bar and click it on a webpage you want to save.

running in a production environment

So you want to run this for real. On the web. That's awesome. Everyone will want this to be setup differently, but this is how I've approached it.

  1. Create an hosted PostgreSQL DB solution (Amazon RDS, Azure, Google, etc)
  2. Deploy to now

developing

To work on bkmrkd locally, you'll want to start the node server for back end dev, the elm watcher for front end dev, or both.

# create the env file
cp .env.sample .env

# if you have docker and docker-compose installed
docker-compose up -d

# create the test database
createdb -h localhost -p 5432 -U postgres bkmrkd_test

# start the server in development mode
npm start | ./node_modules/.bin/bunyan

# start the elm watcher
npm run watch:elm

migrating

The migration from 2.0 to 3.0 is pretty simple thanks to the awesome export capabilities of RethinkDB.

First, you'll want to download your existing bookmarks. From the computer with RethinkDB installed, dump the production database.

rethinkdb dump -f db-dump.tar.gz -e bkmrkd_production

Once it's dumped and downloaded to your computer (or do this remotely if you want), untar the tarball and look for the JSON file with all your bookmarks. Once you have that, run the migration script and assuming your .env file is currently pointed towards production, it should all work smoothly.

./scripts/migrate/rethink-to-postgresql ./path/to/json/file.json

contributing

Please make a pull request! bkmrkd uses prettier for all JS development. For elm development, elm-format should be used.

screenshot

Desktop screenshot

roadmap

To keep track of the roadmap, I'm using issues.

changelog

code of conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.

license

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].