N-SIDE WeFa (Web Factory) is an open-source toolkit for building full-stack, product-ready web experiences. It brings together:
- WeFa Django Toolkit – reusable Django apps for authentication, consent management, and shared utilities (
django/
) - WeFa Frontend Library – a Vue 3 component system, CLI helpers, and Storybook demos (
vue/
)
django/
– source code for the Django distribution published asnside-wefa
. Includes the demo project indjango/demo
.vue/
– source code for the Vue library published as@nside/wefa
, plus a demo/Storybook playground.utils/
,scripts/
, etc. – helper modules shared inside their respective workspaces.
Each package comes with its own README describing features and local workflows plus a CONTRIBUTE if you want to support the development of this project.
pip install nside-wefa
INSTALLED_APPS = [
# ...your apps
"nside_wefa.common",
"nside_wefa.authentication",
"nside_wefa.legal_consent",
]
Check the Django README for configuration examples, migrations, and development commands.
npm install @nside/wefa
import { WefaButton } from "@nside/wefa";
import "@nside/wefa/style";
See the Vue README for build scripts, Storybook, and component authoring guidelines.
- Backend –
cd django
, create a virtual environment (or use uv), install dependencies (pip install -e .[dev]
), then runpython manage.py migrate
andpytest
. - Frontend –
cd vue
, runnpm install
, then usenpm run dev
for the demo playground ornpm run storybook
for docs.
The demo apps in both workspaces illustrate how to compose the packages together.
Contributions are welcome! Start with open issues or propose new ideas through GitHub discussions. Please read Django CONTRIBUTE and/or Vue CONTRIBUTE for the current contribution workflow.
Before opening a pull request:
- follow the linting and testing commands documented in each package
- document new features or breaking changes in the relevant README or package CHANGELOG (when available)
WeFa is released under the Apache-2.0 license.
The project is in active development and still stabilising APIs. While the development team will try to avoid as much as possible, breaking changes may occur with the addition of new features.