GithubHelp home page GithubHelp logo

ncarlier / nunux-keeper Goto Github PK

View Code? Open in Web Editor NEW
74.0 9.0 8.0 6.49 MB

A open source content curation system.

Home Page: http://keeper.nunux.org

License: GNU General Public License v3.0

Makefile 0.28% Shell 0.31% JavaScript 60.93% CSS 13.23% HTML 24.57% PHP 0.20% CoffeeScript 0.43% Dockerfile 0.05%

nunux-keeper's Introduction

NUNUX Keeper

Build Status

Your personal content curation service.

Nunux Keeper allow you to collect, organize, and display articles or medias you found on the Internet.


⚠️⚠️⚠️This project has moved⚠️⚠️⚠️

Please refer to the new version of this project


Screenshot

Features

  • Connect with your Google account (OAuth2) or with Mozilla Persona
  • Save, classify and index documents.
  • A document can be an html page, notes, images and more!
  • Documents attached medias are also saved.
  • Search a document with powerful full text queries.
  • Access from your mobile or your computer. It's fully responsive.
  • Easily save web content while surfing thanks to the awesome bookmarklet.
  • Share a document on a public page.
  • Build your own client application thanks to the RESTFul JSON API.
  • Link your account with Twitter and keep your tweets.
  • Import your bookmarks from Pocket
  • Store medias on the local disk or on S3

Under the hood

The backend is using Node.js. All documents are stored in a MongoDB and are indexed with ElasticSearch using the MongoDB river. Redis is optional, but can be used to provide a message queuing system to download medias in background.

The frontend is using AngularJS and for the visual is using LESS with Twitter Bootstrap 3.

Installation (the -not so- hard way)

This installation procedure is from scratch. You can find below an easiest installation procedure thanks to Docker!

Prerequisites

Install Git, Node.JS, MongoDB and Redis (on Debian)

sudo aptitude install git nodejs mongodb-server redis-server imagemagick

Install Elasticsearch (and MongoDB river)

sudo aptitude install openjdk-7-jre wget
ES_HOME /opt/Elasticsearcharch
(cd /tmp && wget https://download.elasticsearch.org/elasticsearch/elasticsearchsticsearch/elasticsearch-0.90.10.tar.gz -O pkg.tar.gz && tar zxf pkg.tar.gz && mv elasticsearch-* $ES_HOME)
$ES_HOME/bin/plugin -install elasticsearch/elasticsearch-mapper-attachments/1.9.0
$ES_HOME/bin/plugin -install com.github.richardwilly98.elasticsearch/elasticsearch-river-mongodb/1.7.3

Connect to mongodb and enabled replicaset:

$ mongo
> cfg = { "_id" : "rs0", "version" : 1, "members" : [ { "_id" : 0, "host" : "localhost:27017" } ] }
> rs.initiate(cfg)

Install Grunt

sudo npm install -g grunt-cli

Install the Keeper

mkdir -p /opt/node/keeper && cd $_
git clone [email protected]:ncarlier/nunux-keeper.git
cd keeper
npm install

Run the Keeper

See etc/default/dev.env for configuration details.

npm start

Open your browser, go to http://localhost:3000 and enjoy!

Installation (the cool way)

Prerequisites

Or a cool docker hosting service.

Start the Keeper

# Start Redis
docker run --name redis -d ncarlier/redis
# MongoDB and ElasticSearch
docker run --name mongodb -d ncarlier/mongodb
# Don't forget to initiate the new replica set: rs.initiate()
# And ElasticSearch (linked with MongoDb replica)
docker run --name elasticsearch --link mongodb:mongodb -d ncarlier/elasticsearch

# Get and run Keeper
docker run \
  --name="keeper-server" \
  --link mongodb:db \
  --link elasticsearch:elasticsearch \
  --link redis:redis \
  --env-file="./etc/env.conf" \
  -d \
  ncarlier/keeper

# (Optional) Run Keeper downloader deamon
# Only if you set APP_DOWNLOADER="async-redis"
docker run \
  --name="keeper-resource-downloader" \
  --link mongodb:db \
  --link elasticsearch:elasticsearch \
  --link redis:redis \
  --env-file="./etc/env.conf" \
  -d \
  ncarlier/keeper resource-downloader

# Enjoy!

Configuration

See etc/default/dev.env for configuration details.


NUNUX Keeper

Copyright (c) 2014 Nicolas CARLIER (https://github.com/ncarlier)

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.


nunux-keeper's People

Contributors

ncarlier avatar

Stargazers

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

nunux-keeper's Issues

Endless loop

Repository says current version is out of date points to website. Website points to this repository. Repeat.
Where is the updated repo for the new version of the project?

document in several categories

It should be nice to get a document in several categories. Or at least in "one category" and the "public" one. Or "public" could be a "tag" nore a "category".

Cheers

unsafe cannot be recognized with bookmarklet

Adding a webpage content thanks to the bookmarklet, Firefox doesn't recognize this URL:

unsafe:javascript:%28function%28%29{K_REALM='http://keeper.nunux.org';K_SCR=document.createElement%28'SCRIPT'%29;%20%20%20%20%20%20K_SCR.type='text/javascript';K_SCR.src=K_REALM+'/bookmarklet.js';%20%20%20%20%20%20document.getElementsByTagName%28'head'%29[0].appendChild%28K_SCR%29}%29%28%29;

Unsafe protocol isn't linked to another software.

Registration Email Process Not Working

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.