{"id":18081990,"url":"https://github.com/vindarel/abelujo","last_synced_at":"2025-04-12T15:10:30.927Z","repository":{"id":42213201,"uuid":"59581464","full_name":"vindarel/abelujo","owner":"vindarel","description":"Free software for bookstores. http://www.abelujo.cc/ Mirror (out of sync) of https://gitlab.com/vindarel/abelujo","archived":false,"fork":false,"pushed_at":"2021-12-12T18:16:33.000Z","size":5287,"stargazers_count":14,"open_issues_count":13,"forks_count":3,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-26T09:44:48.027Z","etag":null,"topics":["book","books","bookshop","bookshops","bookstore","bookstoreapp","dilicom","electre","isbn"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/vindarel.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null},"funding":{"ko_fi":"vindarel","liberapay":"vindarel","patreon":"vindarel"}},"created_at":"2016-05-24T14:42:14.000Z","updated_at":"2025-03-25T19:51:58.000Z","dependencies_parsed_at":"2022-08-27T11:33:20.297Z","dependency_job_id":null,"html_url":"https://github.com/vindarel/abelujo","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vindarel%2Fabelujo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vindarel%2Fabelujo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vindarel%2Fabelujo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/vindarel%2Fabelujo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/vindarel","download_url":"https://codeload.github.com/vindarel/abelujo/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248586232,"owners_count":21128997,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["book","books","bookshop","bookshops","bookstore","bookstoreapp","dilicom","electre","isbn"],"created_at":"2024-10-31T13:17:43.161Z","updated_at":"2025-04-12T15:10:30.902Z","avatar_url":"https://github.com/vindarel.png","language":"Python","funding_links":["https://ko-fi.com/vindarel","https://liberapay.com/vindarel","https://patreon.com/vindarel","https://liberapay.com/vindarel/donate"],"categories":[],"sub_categories":[],"readme":"Abelujo - free software to manage independent book (and records) shops.\n=======================================================================\n\n-------------------\n\n**Please see https://gitlab.com/vindarel/abelujo/**\n\nThis GitHub mirror is out of sync.\n\n--------------------\n\nfrançais: [Lisez-moi](https://gitlab.com/vindarel/abelujo/blob/master/README_fr.md \"README en français\")\n\nThis project is used daily by individuals, associations, tea and wine\nshops, theaters, art centers and professional bookshops.\n\nAbelujo allows to:\n\n-   look up for **books**, either by keywords or by isbn/ean (which works with a **barcode scanner**). See the https://gitlab.com/vindarel/bookshops library. You can currently search for:\n\n    * french books:\n      * through [Dilicom](https://dilicom-prod.centprod.com) (the profesional provider)\n      * or [librairiedeparis](http://www.librairie-de-paris.fr/)  ![](http://gitlab.com/vindarel/bookshops/badges/master/build.svg?job=french_scraper)\n    * spanish books (through [casadellibro.com](http://www.casadellibro.com)) ![](http://gitlab.com/vindarel/bookshops/badges/master/build.svg?job=spanish_scraper)\n    * german books(through [buchlentner.de](http://www.buchlentner.de)) ![](http://gitlab.com/vindarel/bookshops/badges/master/build.svg?job=german_scraper)\n    * *you want another one ? The sooner you tell us, the quicker you'll have it ;)*\n-   look up for **CDs** (via [discogs.com](http://www.discogs.com/))\n-   do **inventories** of your stock,\n-   manage lists of books, export them to **csv** and **pdf** (with **barcodes**),\n-   send an email to distributors to **order** books,\n-   manage deposits and distributors, see **the balance of your deposits**,\n-   sell books, see the history,\n\nIt is translated to English, French and Spanish.\n\nWe base our work on the software specifications from the Ruche project\n(to which we particpated):\n\u003chttp://ruche.eu.org/wiki/Specifications_fonctionnelles\u003e. We wrote there\nwhat we understood about the work of a bookseller (like how to manage\ndifferent distributors, how to manage deposits, etc). You should read it\nand tell us wether or not what we are doing will suit your needs (I'll\ntranslate this document to english one day or another, but you should\ntell me now if you're interested).\n\n**Abelujo** means Beehive in Esperanto.\n\nEnjoy!\n\n\u003ca href=\"https://liberapay.com/vindarel/donate\"\u003e\u003cimg alt=\"Donate using Liberapay\" src=\"https://liberapay.com/assets/widgets/donate.svg\"\u003e\u003c/a\u003e\n\n![looking for a registered card](doc/abelujo-search-isbn.png)\n\nInstallation\n============\n\n**note:** if you are getting started and are feeling adventurous, use the `django20py3` branch: it uses Python 3.6 and one of the latest Django version (2.2). For stability, stay with master.\n\nInstructions for Debian 9.\n\n[![build status](https://gitlab.com/vindarel/abelujo/badges/master/build.svg)](https://gitlab.com/vindarel/abelujo/commits/master)\n\nEither do the quick way:\n\n    apt install curl -y \u0026\u0026 curl -sS https://gitlab.com/vindarel/abelujo/raw/master/install.sh | bash -\n\nthis will clone the repo in the current directory and install all its dependencies.\n\nor read below for the detailed instructions.\n\nSee after to install without sudo.\n\nGet the sources:\n\n    git clone --recursive https://gitlab.com/vindarel/abelujo.git\n\nit creates the directory \"abelujo\":\n\n    cd abelujo\n\nEnsure you have Python 2.7.\n\nInstall the required dependencies for Debian (Ubuntu/LinuxMint/etc):\n\n    make debian\n    # a shortcut for\n    # sudo apt-get install python-pip\n\t# sudo pip install virtualenvwrapper\n\nCreate and activate a virtual environment (so than we can install python\nlibraries locally, not globally to your system). Do as you are used to,\nor do the following:\n\n    source venv_create.sh # [venvname] (optional argument)\n    workon abelujo\n\nnow your shell prompt should show you are in the `abelujo`\nvirtualenv. To quit the virutal env, type `deactivate`. To enter it,\ntype `workon \\\u003cTAB\\\u003e abelujo`.\n\n\nTo install the dependencies, create and populate the database, run:\n\n    make install\n\nWe are done ! Now to try Abelujo, run the development server like this:\n\n    make run\n    # or set the port with:\n    # python manage.py runserver 9876\n\nand open your browser to \u003chttp://127.0.0.1:8000\u003e (admin/admin).\n\nYou might need to create a superuser: see [the dev documentation](http://dev.abelujo.cc/use-manage.html).\n\n\nInstall without sudo\n--------------------\n\n    make debian-nosudo\n    make install-nosudo\n\nplease read the Makefile in this particular case.\n\n\nHow to update\n-------------\n\nTo update, you need to: pull the sources (`git pull --rebase`),\ninstall new packages (system and python-wide), run the database\nmigrations, build the static assets and, in production, collect the\nstatic files.\n\nIn the virtual env, run:\n\n    make update\n    # git pull --rebase\n    # git submodule update --remote\n    # install pip, migrate, compile transalation files.\n\nActions required for updates\n----------------------------\n\n- for version **0.8** (january, 24th 2020): update pip, run `make\nupdate`, and start the new task queue with `make taskqueue`. You don't\nneed Redis anymore.\n\nDevelopment\n===========\n\nDjango project, in python (2.7) and JavaScript (AngularJS).\n\nWe use:\n\n- [LiveScript](http://livescript.net)\n- [jade templates](http://jade-lang.com/), which compile to html,\n    and pyjade for the Django integration\n- [Bootstrap's CSS](http://getbootstrap.com) with django-bootstrap3\n- the [Django-q](https://django-q.readthedocs.org/) asynchronous task queue.\n\nSee the developer documentation: http://dev.abelujo.cc/.\n\nThis is [our database graph](http://dev.abelujo.cc/graph-db.png)\n(`make graphdb`).\n\n### Dev installation ###\n\nAs a complement to the installion procedure above, you also need to\ninstall development dependencies that are listed in another\nrequirements file::\n\n    make pip-dev\n\nand npm packages\n\n    make npm\n    # this installs node dependencies\n\nThen, to build the JS and CSS:\n\n    make gulp\n\nand commit the result.\n\nAlso install npm packages to run end to end tests:\n\n    make npm-dev  # packages listed in devDependencies of packages.json\n\n\n### Vagrant and Ansible role\n\nYou can install and try everything in a Vagrant virtual machine, thanks to a nice contribution: https://gitlab.com/anarchistcat/abelujo-ansible\n\n## Configure services\n\n### Task queue (mandatory)\n\nWe need a task queue for long operations (notably applying an inventory to the stock). We use Django-q in pure-Django mode (no more Redis).\n\nStart it with\n\n    make task-queue \u0026\n    # aka honcho start \u0026\n\n### Sentry (optional)\n\nPut your\n[Sentry](https://docs.sentry.io/clients/python/integrations/django/)\nprivate token in a `sentry.txt` file. The settings will see and read\nit.\n\nTo get Fabric send it to the remote instance on install (`fab install`\ncalls `fab save_variables`), add the token into your `clients.yaml`\nunder `sentry_token` (see the fabfile).\n\nTest with `python manage.py raven test` and see the new message in your dashboard.\n\n\n### Electre API (optional)\n\nWe support fetching data on Electre's API. We can search by ISBN or with a free text search.\n\nThe `pyelectre` module is developed separately, you will to get in touch with us.\n\n\nRun unit tests\n--------------\n\n    make unit\n\nCode coverage:\n\n    make cov  # and open your browser at htmlcov/index.html\n\nTesting the installation script in Docker (experimental)\n--------------------------------------------------------\n\nGiven you have Docker already installed, run the installation script\nin a fresh Ubuntu 16.04 with:\n\n    chmod +x dockentry.sh\n    docker run  -v \"$(pwd)/docker\":/home/docker/ -ti ubuntu:16.04 /home/docker/dockentry.sh\n\nThe script given as argument creates a user with sudo rights and then\ncalls the installation script.\n\nYou can also simply step into the image and run scripts manually from\nthere.\n\nSee a bit more in doc/dev/ci.rst.\n\n\nLoad data\n---------\n\nSee the scripts in `scripts/` to load data (specially shelves\nnames), in different languages.\n\nTroubleshooting\n---------------\n\nIf you get:\n\n    OperationalError: no such column: search_card.card_type_id\n\nit is probably because you pulled the sources and didn't update your\nDB. Use database migrations (`make migrate`).\n\nUninstall\n---------\n\nTo uninstall Javascript and Python libraries, see `make uninstall[-js, -pip]`.\n\nThe most worth it is to uninstall JS libs from `node_modules`, that\nfrees a couple MB up.\n\n\nDocumentation\n-------------\n\nWe have developer documentation: http://dev.abelujo.cc/\n\nLicence\n-------\n\nAGPL-3.0\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvindarel%2Fabelujo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fvindarel%2Fabelujo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fvindarel%2Fabelujo/lists"}