Research
Security News
Malicious npm Packages Inject SSH Backdoors via Typosquatted Libraries
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Engine to create database applications based on Django and the IBM Carbon Design System
Documentation is hosted at readthedocs.io
This package provides functionality to create Django-based database applications in a quick and customizable way. Similar concepts are CRUD (create-read-update-delete) frameworks or RAD (rapid application development) tools.
BasxBread relies in many regards on the Django web framework. Familiarity with Django is highly recommended and assumed for readers of the documentation.
pip install basx-bread
The following are the required step to get a new project quickly up and running. For seasoned Django users there should be nothing new for the most parts. In that case only the section Registering the UI might be worth reading.
python3 -m venv .venv
. .venv/bin/activate # this is for bash, for windows use the script .venv/bin/Activate.ps1, there are also scripts for csh and fish
pip install basx-bread # should run without problems, but users reported problems in some Mac setups due to native libraries missing
django-admin startproject --template $( pip show basx-bread | grep '^Location: ' | cut -c 11- )/basxbread/resources/project_template/ myproject . # template-project for basxbread
# adding a Django "app", Django projects consist of different apps with different models, pretty standard
# can also be achieved with "python manage.py startapp mymodels" but it would create a few unnecessary files
mkdir mymodels mymodels/migrations
touch mymodels/__init__.py mymodels/migrations/__init__.py
echo -e 'from django.apps import AppConfig\n\n\nclass Mymodels(AppConfig):\n name = "mymodels"' > mymodels/apps.py
After this the file mymodels/models.py
needs to be created and filled with your database models. Then add "mymodels"
to the list of INSTALLED_APPS
inside myproject/settings/base.py
.
In order to get started with the UI quickly the following code can be put into mymodels/urls.py
.
The code below assumes there exists a single model inside mymodels/models.py
called MyModel
.
from basxbread.utils import quickregister
from . import models
urlpatterns = []
quickregister(urlpatterns, models.MyModel)
The root URL list in myproject/urls.py
needs to be extended with an item path("myapp", include("mymodels.urls"))
.
Finally run the following commands to initialize the database and start the development server.
python manage.py makemigrations
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver
The application can now be accessed via http://127.0.0.1:8000.
Most of the code that is being written for BasxBread is developed while doing payed work. That way the development and maintenance of the framework can be done in a sustainable manner.
BasxBread is currently running on a range of custom database applications that are used in production. Most parts of the framework are now on a level that we consider production ready. However, there are some additions and improvments that we still would like to work on. Those are listed here.
Refactorings:
(Maybe move this stuff into Github issues)
New features
FAQs
Engine to create database applications based on Django and the IBM Carbon Design System
We found that basx-bread demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Research
Security News
Socket’s threat research team has detected six malicious npm packages typosquatting popular libraries to insert SSH backdoors.
Security News
MITRE's 2024 CWE Top 25 highlights critical software vulnerabilities like XSS, SQL Injection, and CSRF, reflecting shifts due to a refined ranking methodology.
Security News
In this segment of the Risky Business podcast, Feross Aboukhadijeh and Patrick Gray discuss the challenges of tracking malware discovered in open source softare.