Giter Site home page Giter Site logo

mybookshelf2's Introduction

MyBookshelf2

Web platform for managing ebooks.

Features:

  • multi user
  • latest technologies
    • Aurelia Javascript framework for SPA front-end client.
    • Flask for restful API server
    • PostgreSQL for data
    • WebSocket communication
    • Asyncio based backend for long running tasks (conversions etc.)
  • Each book can have many files - even of same type
  • Full text search
  • Cover images
  • Ebook files conversion
  • Easy upload (extracts metadata from the file)
  • Can organize books in shelves
  • Books rating
  • Alternative very simple web front end, which works well on ebook devices (black&white, no Javascript)
  • Command line client
  • and more

For more information see project homepage

Project is now in beta stage (I'm using it for my ebooks collection for several month), I think it's reasonably stable for people to try it.

Can be easily deployed using Docker - look at README.md in deploy directory.

Missing parts

Online user mamagement - registration, password change/reset, rights assigment - as it is not priority for myself now, it's not yet implemented. Users can be now managed by command line utility manage.py.

User preferences/profile - prefered formats for conversion, conversion parameters, external info sources, etc.
There is possibility to store per user preferences as JSON, but the implementation of preferences is yet to be done.

Documentation - unfortunatelly it's usually my weak part.

Internationalization, Localization, Translation - I really do not like this type of work.
App is not ready, I guess it would not be too dificult to make it I18N, but it's not a priority.

mybookshelf2's People

Contributors

izderadicka avatar

Stargazers

 avatar  avatar Raghav Vivek avatar  avatar Andrii Marchuk avatar  avatar yes avatar Nicklas Nybom avatar Amsico avatar  avatar  avatar Dale Dali avatar  avatar  avatar  avatar Krazy Bug avatar benok avatar Malte Bublitz avatar Bloo Alien avatar Johannes Konst avatar Ramon Leon avatar Gerardo Lisboa avatar  avatar Ali Kuru avatar AFM Sayem avatar Nevzat Akkaya avatar Michael Bull avatar axt43 avatar Gaëlle R. avatar Arun Teja Dhondi avatar  avatar devguf avatar  avatar Hernán De Souza avatar Gregor B. Rosenauer avatar Felipe Aquino avatar Torsten Nielsen avatar Cyprian Gracz avatar Israel Santiago avatar

Watchers

Torsten Nielsen avatar James Cloos avatar Hernán De Souza avatar  avatar Mirosław Widz avatar  avatar  avatar  avatar

mybookshelf2's Issues

python moudle asexor in backend

After building app with docker I'm getting following errors:

backend_1   | Traceback (most recent call last):
backend_1   |   File "engine/backend.py", line 6, in <module>
backend_1   |     from asexor.runner import ApplicationRunnerRawSocket

I've also checked in container:

root@ubuntu:/opt/mybookshelf2/deploy# docker-compose run --rm backend /bin/bash
root@6fc6983f373b:/code# pip3.5 install git+https://github.com/izderadicka/asexor.git
Collecting git+https://github.com/izderadicka/asexor.git
  Cloning https://github.com/izderadicka/asexor.git to /tmp/pip-sgkc8xnh-build
  Requirement already satisfied (use --upgrade to upgrade): asexor==0.3.0 from git+https://github.com/izderadicka/asexor.git in /usr/local/lib/python3.5/dist-packages
Requirement already satisfied: cbor>=1.0.0 in /usr/local/lib/python3.5/dist-packages (from asexor==0.3.0)
Requirement already satisfied: ujson>=1.35 in /usr/local/lib/python3.5/dist-packages (from asexor==0.3.0)
Requirement already satisfied: aiohttp>=1.3.2 in /usr/local/lib/python3.5/dist-packages (from asexor==0.3.0)
Requirement already satisfied: aiohttp-cors>=0.5.0 in /usr/local/lib/python3.5/dist-packages (from asexor==0.3.0)
Requirement already satisfied: async-timeout>=1.2.0 in /usr/local/lib/python3.5/dist-packages (from aiohttp>=1.3.2->asexor==0.3.0)
Requirement already satisfied: chardet in /usr/local/lib/python3.5/dist-packages (from aiohttp>=1.3.2->asexor==0.3.0)
Requirement already satisfied: yarl>=0.11 in /usr/local/lib/python3.5/dist-packages (from aiohttp>=1.3.2->asexor==0.3.0)
Requirement already satisfied: multidict>=3.0.0 in /usr/local/lib/python3.5/dist-packages (from aiohttp>=1.3.2->asexor==0.3.0)
Requirement already satisfied: typing in /usr/local/lib/python3.5/dist-packages (from aiohttp-cors>=0.5.0->asexor==0.3.0)
root@6fc6983f373b:/code# python
python             python2            python2.7          python3            python3.5          python3.5-config   python3.5m         python3.5m-config
root@6fc6983f373b:/code# python3
Python 3.5.2 (default, Jul 17 2016, 17:38:18)
[GCC 4.6.3] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from asexor.runner import ApplicationRunnerRawSocket
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: No module named 'asexor.runner'
>>>

Installation errors

Hi, thanks for sharing this great web platform for managing ebooks. I am stocked trying to run it. Error:
Traceback (most recent call last):
File "manage.py", line 5, in
from app import app, db
File "/code/app/init.py", line 29, in
register_blueprints()
File "/code/app/init.py", line 21, in register_blueprints
from app.api import bp as api_bp
File "/code/app/api.py", line 5, in
import app.schema as schema
File "/code/app/schema.py", line 3, in
from flask_marshmallow import Marshmallow
File "/usr/local/lib/python3.5/dist-packages/flask_marshmallow/init.py", line 24, in
from . import sqla
File "/usr/local/lib/python3.5/dist-packages/flask_marshmallow/sqla.py", line 13, in
import marshmallow_sqlalchemy as msqla
File "/usr/local/lib/python3.5/dist-packages/marshmallow_sqlalchemy/init.py", line 1, in
from .schema import TableSchemaOpts, ModelSchemaOpts, TableSchema, ModelSchema
File "/usr/local/lib/python3.5/dist-packages/marshmallow_sqlalchemy/schema.py", line 3, in
from .convert import ModelConverter
File "/usr/local/lib/python3.5/dist-packages/marshmallow_sqlalchemy/convert.py", line 80
):
^
SyntaxError: invalid syntax

Same error doing:
docker-compose run --user 501:20 --rm app python3 manage.py create_tables -a -c

Then, I tried docker-compose build, and get this error:

Setting up desktop integration failed with error:


Traceback (most recent call last):
  File "calibre/linux.py", line 853, in setup_desktop_integration
  File "calibre/linux.py", line 875, in do_setup_desktop_integration
  File "calibre/linux.py", line 906, in install_xdg_junk
  File "calibre/linux.py", line 891, in install_icons
  File "calibre/linux.py", line 885, in install_single_icon
  File "subprocess.py", line 359, in check_call
  File "subprocess.py", line 340, in call
  File "subprocess.py", line 854, in __init__
  File "subprocess.py", line 1702, in _execute_child
FileNotFoundError: [Errno 2] No such file or directory: 'xdg-icon-resource'

At the end, I get 'Successfully built xxx' message and some docker images were created (deploy_client, deploy_bd, deploy_app, deploy_backend) but nothing shown in localhost:9000.

By the way, to get here I initially had to update the following line in Dockerfile:
https://bootstrap.pypa.io/get-pip.py ----> https://bootstrap.pypa.io/3.5/get-pip.py

Any idea on how to move forward on this installation?
Many thanks

init.sh does not work in development

issue with jupyter and argon package :
argon2-cffi-bindings SyntaxError: future feature annotations is not defined

issue with calibre package :
#0 0.688 Your system has GNU libc version 2.27. The calibre binaries require at least version: 2.31 (released on 2020-02-01). Update your system.

image

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.