Skip to main content

Enhance your development with SmoothGlue™, providing a user-friendly gateway to interoperable microservices for effortlessly creating complex app behaviors.

Project description

SmoothGlue Django Core

Overview

SmoothGlue Django Core provides a robust foundation for creating extendable and secure application features, optimized for highly regulated environments. This project includes reusable Django apps designed to streamline development for applications requiring stringent security and compliance measures.

Key Features

  • Abstract Models: Includes abstract models like AuditModel and TimeAuditModel for audit trail functionality in your models.
  • Reusable Serializers: A set of base serializers for consistent API development.
  • Custom User Model: Extensible user model adaptable to various authentication requirements.
  • Environment-specific Configuration: Designed for easy configuration in different environments (development, staging, production).

Installation

Prerequisites

  • Python 3.12+
  • Django 4.2+
  • Django REST Framework 3.15.2+

Install SmoothGlue Django Core From PyPI (Official Use)

  1. Use pip and the following command inside the Django project:

    pip install smoothglue_django_core
    
  2. Enable Smoothglue Django Core's apps in your settings.py:

INSTALLED_APPS = [
    # ... other installed apps ...
    'smoothglue.core',
    'smoothglue.authentication',
    'smoothglue.tracker',
    # ... other installed apps ...
]
  1. Database Migrations:

Run the migrations to create the necessary database tables:

python manage.py migrate
  1. Run the development server to confirm the project continues to work.

API Usage

This package exposes several API endpoints to manage users, organizations, and other related data.

Authentication

This package uses JWT-based authentication. The JWT is decoded from the Authorization or Jwt header of the request. In a development environment, ENABLE_SINGLE_USER_MODE can be set to True to bypass JWT authentication and use a default "UnknownUser".

Endpoints

Users

  • GET /users/: Retrieves a list of all users.

  • POST /users/: Creates a new user.

  • GET /users/{id}/: Retrieves a specific user by their ID.

  • PUT /users/{id}/: Updates a specific user.

  • PATCH /users/{id}/: Partially updates a user.

  • DELETE /users/{id}/: Deletes a user.

Organizations

  • GET /organizations/: Retrieves a list of all organizations.

  • POST /organizations/: Creates a new organization.

  • GET /organizations/{id}/: Retrieves a specific organization by its ID.

  • PUT /organizations/{id}/: Updates an organization.

  • PATCH /organizations/{id}/: Partially updates an organization.

  • DELETE /organizations/{id}/: Deletes an organization.

Organization Members

  • GET /org-members/: Retrieves a list of all organization members.

Organization Categories

  • GET /org-categories/: Retrieves a list of all organization categories.

  • POST /org-categories/: Creates a new organization category.

  • GET /org-categories/{id}/: Retrieves a specific organization category by its ID.

  • PUT /org-categories/{id}/: Updates an organization category.

  • PATCH /org-categories/{id}/: Partially updates an organization category.

  • DELETE /org-categories/{id}/: Deletes an organization category.

Active User

  • GET /active_user/: Retrieves the currently authenticated user's information.

License

This project is licensed under a Proprietary License. See the LICENSE file for more details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

smoothglue_django_core-1.3.0.tar.gz (52.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

smoothglue_django_core-1.3.0-py3-none-any.whl (80.1 kB view details)

Uploaded Python 3

File details

Details for the file smoothglue_django_core-1.3.0.tar.gz.

File metadata

  • Download URL: smoothglue_django_core-1.3.0.tar.gz
  • Upload date:
  • Size: 52.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.11 Linux/4.18.0-553.51.1.el8_10.x86_64

File hashes

Hashes for smoothglue_django_core-1.3.0.tar.gz
Algorithm Hash digest
SHA256 ea07c06f39e029b505c6c4a298aa573421fbe290d040d62589de0c8696e86c5e
MD5 a416f4c27bc4b6a5a0859ac77a025e63
BLAKE2b-256 204dafb90ce9333e841939820f7730d65ae756b5f9f650c7c7ba26a550b48084

See more details on using hashes here.

File details

Details for the file smoothglue_django_core-1.3.0-py3-none-any.whl.

File metadata

  • Download URL: smoothglue_django_core-1.3.0-py3-none-any.whl
  • Upload date:
  • Size: 80.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.3 CPython/3.12.11 Linux/4.18.0-553.51.1.el8_10.x86_64

File hashes

Hashes for smoothglue_django_core-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9a67bc274e5041adba51066e9afe474823891c53ae25bc649149ed3f8da118f8
MD5 34851e45da8d02504ab82b58ca90aabf
BLAKE2b-256 34148cf4ae66495d80bf7e70586a70fa82be2daf2c5a2dadcb921673d5abeb90

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page