Metadata-Version: 2.4
Name: django-drf-blog-api
Version: 0.2.3
Summary: A Django app blog API endpoints.
Home-page: https://github.com/osiota10/blog_DRF_api
Author: Osiota Samuel Obrozie
Author-email: osiotaobrozie@gmail.com
License: BSD-3-Clause  # Example license
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 5.0
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: Django>=5.0
Requires-Dist: django-ckeditor-5<0.3.0,>=0.2.15
Dynamic: description
Dynamic: description-content-type
Dynamic: license-file

===================
django-drf-blog-api
===================

A reusable Django REST Framework blog and magazine API package with support for articles, magazine series editions, categories, tags, author profiles, backdated publications (``pub_date``), comments, likes, and Cloudinary / MediaAsset integration.

Current Version: **0.2.3**

Quick Start
-----------

1. Installation
~~~~~~~~~~~~~~~
.. code-block:: bash

    pip install django-drf-blog-api

2. Configure ``INSTALLED_APPS``
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In your Django ``settings.py``:

.. code-block:: python

    INSTALLED_APPS = [
        ...,
        'rest_framework',
        'media_library',
        'django_drf_blog_api',
        'django_ckeditor_5',
    ]

3. Add URL Patterns
~~~~~~~~~~~~~~~~~~~
In your Django ``urls.py``:

.. code-block:: python

    from django.urls import path, include

    urlpatterns = [
        path('django_drf_blog_api/', include('django_drf_blog_api.urls')),
        path('media-library/', include('media_library.urls')),
    ]

4. Run Migrations
~~~~~~~~~~~~~~~~~
.. code-block:: bash

    python manage.py migrate

Key API Endpoints
-----------------

* **GET /django_drf_blog_api/post-list**: Public blog post list (ordered by ``-pub_date``).
* **GET /django_drf_blog_api/post-list/<slug>**: Retrieve blog post by slug.
* **GET/POST/PUT/DELETE /django_drf_blog_api/post**: Author post CRUD.
* **GET/POST/PUT/DELETE /django_drf_blog_api/author**: Logged-in author profile settings (``role``, ``bio``).
* **GET /django_drf_blog_api/authors**: Public list of author profiles.
* **GET /django_drf_blog_api/magazines**: List magazine series.
* **GET /django_drf_blog_api/magazines/<slug>**: Retrieve magazine series details.
