Tags give the ability to mark specific points in history as being important
  • v0.5

    New features, enhancements

    • DVD search
    • update of the french scaper, after the first incident in 4 years
    • set the threshold when entering a new book and in the book edit page
    • added pagination to more pages, so than they load faster (my stock, inventories, lists, deposits, list of commands,…).
    • more pages remember UI choices for a user's browser accross sessions (show or hide the covers, number of results to display)
    • quicker stats
    • My Stock new action: choose the supplier for a selection of results
    • My Stock shows the number of results
    • see and edit a comment for a deposit
    • adding copies to a new deposit shows the last entered first
    • continued work on a new interface (and new features) for the Lists page, with new web technologies (Vue.js, Element-ui)
    • Commands table: show the publisher


    • fixed selling from a given place or a deposit
    • undoing a sell which was done from a given place puts the books back in this place, not the default one.
    • numerous bug fixes
  • v0.4.2

    Highlights: enhanced working with many places.

    Announcement: https://framasphere.org/posts/4583573

    New features and enhancements:

    • when we move a card, we now see the newly added places
    • new button in Card view: add to places


    • started work on a new interface for Lists, more featureful, with new web technologies (Vue.js)


    • Card.quantity is not a DB field anymore -> many fixes and speed ups


    • how to create, delete and list users
    • how to change passwords
    • how to deploy with gunicorn
    • how to uninstall


    • test the installation script on Docker
    • restart gunicorn with kill -HUP
    • our client.yml file and our fabric command print the client's status (in prod, testing, stopped,…)
  • v0.4.1
  • v0.4

    This was a large version, spanning around a year. This is a short changelog.

    New features and enhancements:

    • prettier pdf export
    • search results: add an action to directly add to the Command list
    • enhance Lists and the History UI (sortable columns, modales,…)
    • allow to sell from a given place or deposit
    • add intro guided tours
    • many UI enhancements
    • experiment with a search of book reviews on lmda.net
    • Commands: apply it after we did its inventory


    • Gitlab CI (feb, 2017)
    • start working with brunch
    • experiment with a one-liner curl install, test with Docker
    • save cover images on disk (see a script)
    • some integration tests (testcafe)
    • moving many js libraries from bower to npm.
    • setup Sentry
    • file logging in logging.log
    • nodejs v6 now required (for yarn)
    • management command: create all barcodes
    • configure pylint
    • refactor and split the Inventory class
  • v0.3

    Features and improvements

    Highlight: better history and prices are also displayed without taxes.

    • prices are now also displayed without taxes
    • History:
      • select a supplier
      • select a month
      • export selection to csv or txt
    • a new input appeared at the top, in the navbar: we can search for any book, even put a new isbn, and we land on the card's presentation page. See https://framasphere.org/posts/2545242

    Some pages were enhanced:

    • enhanced Command view:
      • sort suppliers by name
      • show authors
      • list the suppliers on the side
      • button to toggle the covers (like in other pages)
      • link to a supplier
      • show prices without taxes, with or without discount
    • the navbar (bar on top) displays the current user name and a dropdown to logout
    • this dropdown menu also shows access to a first Preferences pages, where one can set:
      • the value of the tax for books (VTA, french TVA)
      • the default language for the interface
      • the default place for the bookshop
      • more to come !
    • enhanced card view page. It now displays kinda three columns, with
      • history information on the right:  date of the last sell, number of sells since this date (not new)
      • the quantity in stock is shown in red if negative (new), same for the quantity in deposits
      • a little link to search for this card in a new tab with the framabee search engine (new)
    • enhanced global deposits view: due date column, buttons in a button group, smaller header, links to cards, to the supplier, link to help
    • when we search our stock, we can see the quantity in deposits and…
    • export the result in txt

    some annoyances were fixed:

    • sometimes, a page would switch to english. This is now fixed.
    • the graphs' legends of statistics are translated
    • also prices are displayer more nicely, like a currency, i.e. like 1 500,30 € instead of 1500.3€.
    • reword "distributor" to supplier, in the program, translations and documentation

    At last, we carried on work on deposits for suppliers, but that's for another release.

    Bug fixes

    • the discount value is a float, not an int

    Which technically means

    • we started developing new api endpoints with the Django Rest Framework.
    • the Search.sell method now returns soldcards and not Sell objects: commit: searching for cards of a given distributor id is much simpler, the UI is simpler (simply presenting a line per item sold, not a line per sell transaction with the need to list the sold items afterwards. Identical sells still can be grouped in the UI.
    • dont' install npm dev dependencies
    • Card and more options for the client admin


    • we must say "supplier", no "distributor"


    • Honcho is the new task supervisor, because we need to run gunicorn and huey. See its Procfile.
    • new script to set the VAT on remote instances. See scripts/init_data.yml and scripts/set_vat.py.
    • fabfile: gunicorn saves the IP in IP.txt, that makes it ok for dev and prod.
    • deploy target of the fabfile: with no argument, save the variables (IP, port) of all clients (with multiprocessing).
    • fab updatelight doesn't restart gunicorn any more.


    • the make run target uses runserver_plus, with werkzeug, it displays more info and on a page crash, we can enter a python console at the stacktrace
    • the models and the api use a custom Messages class, to list and pass around messages and their status to display in the UI. See models/utils.py.


    Board for upcoming v0.4: https://gitlab.com/vindarel/abelujo/boards?author_id=&assignee_id=&milestone_title=v0.4&search=

    • deposits for suppliers
    • commands with postal parcels
    • fix pdf exports
    • and ?? 'cause it depends also on feedback ! ;)
  • v0.2
    15d53543 · A graph of our database ·

    Features and improvements

      French announcement

    Most of all for inventories and a stat.

    • the page listing inventories is slightly arranged, grouping more actions under one dropdown. We can now analyse or apply an inventory in one click.
    • we can list the columns of the inventories tables, by clickin on their header, like usual.
    • applying an inventory is done asynchronously: the UI feedback is immediate but the task runs in the background. An icon shows the task is in progress, we refresh the page to see the "done" icon. This task can take about 3-4 min for 200 books.
    • DB queries speed up: the inventories listing is 4 times faster, the display ("continue") twice; work can be done for the analysis.
    • Stats: we can now choose the month to display the revenue and other stats, along with the corresponding best sells. Many more graphs and stats to come !
    • display the graph of the first shelf for the graph "shelves stock age"

    Bug fixes

    • fix labels not displaying in stats' graphs
    • fixed missing translation for graph stock age
    • display "no data" in stats instead of nothing
    • fix maybe missing xhtml2pdf
    • upgrade django_extensions to have the fixed graph db command. See our beautiful graph: http://dev.abelujo.cc/graph-db.png Produce with a make command.

    Which technically means

    • with use the Huey task queue
    • /inventories was in django, it's now in Angular


    You now need to start the task queue before the web server:

    make taskqueue
    make run

    We have a new fab command to send our bower dependencies into the server with rsync, so than when we deploy a new site it doesn't need to download all bower deps. See #24 .


    See Huey settings, it's marked to run async even if DEBUG=True.

    Improving the apply looks more difficult since it's only DB writes.

    See the new django-toolbar dev branch, with the toolbar installed and configured to inspect queries, even with ajax. Use it to see how many queries are run, how long they take, etc.


    An user preferences panel, setting the VTA, more numbers in reports (with and without VTA, discount, etc), first iteration of commands with postal parcels.

  • v0.1

    This development version has missing features for a secure production use but noneless has proven much helpful for real use cases (inventories are a good entry point to start using the software).


    • Searches books by isbn with the bookshop library
    • works with a barcode scanner, or without
    • Inventories (by shelf, place or publisher), comparison, apply an inventory onto the stock
    • Deposits
    • Lists of books
    • Sells
    • History of sells and entries
    • list of products to command, threshold by product
    • Alerts (sell ambiguity)
    • Stats:
      • how many products, books and exemplars in stock
      • revenue of current month
      • best sells of the month
      • products never sold
      • age of the stock, by shelf
    • exports: to txt, csv and pdf


    • fabric commands to manage many instances