Guide
Oxylus is a regular Django project composed of multiple applications. For the frontend, we use the Vue framework combined with other tools.
This splits the technical stack in two different components:
Django application: backend server, SSR, and API. SSR allows applications to extend user interface. We use
django-rest-framework,django-tasks,dynaconfamong other things.Vue application: frontend application, components, and user interaction. We use here a pnpm monorepo with
vue,vuetify,pinia-orm,@pinia-orm/axios. The Oxylus packages are scoped under@oxylus, the core library is@oxylus/ox.
Oxylus provides the bases for integration between both parts, as application set up, user and permissions management, fetching data from server, standard layout for user’s list/view/edition, etc.
The code is organised in order to keep coherency between both sides. Each side handles things its own ways (project buiding, testing, code documentation): this keeps bests practices on. However, we provide utilities in order to integrate frontend into backend (including assets management, see Assets).
Note: All oxylus libraries and modules use the abbreviation ox (as ox_core for core frontend libraries and AppConfig’s label).