Metadata-Version: 2.1
Name: django-ndr-core
Version: 0.22.2
Summary: A Django app to search and view data from an API.
Home-page: https://django-ndr-core.readthedocs.io/en/latest/
Author: Sorin Marti
Author-email: sorin.marti@gmail.com
License: MIT License
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Web Environment
Classifier: Framework :: Django
Classifier: Framework :: Django :: 4.2
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
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.9
Classifier: Programming Language :: Python :: 3.11
Classifier: Topic :: Internet :: WWW/HTTP
Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
Classifier: Topic :: Database
Classifier: Topic :: Database :: Front-Ends
Requires-Python: >=3.9
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: requests==2.31.0
Requires-Dist: Django==4.2.7
Requires-Dist: django-bootstrap4==23.2
Requires-Dist: django-crispy-forms==2.1
Requires-Dist: django-tables2==2.6.0
Requires-Dist: django_select2==8.1.2
Requires-Dist: django-ckeditor==6.7.0
Requires-Dist: django-recaptcha~=3.0.0
Requires-Dist: django-colorfield==0.10.1
Requires-Dist: fontawesomefree==6.4.2
Requires-Dist: Pillow==10.1.0
Requires-Dist: geoip2==4.7.0
Requires-Dist: pymongo==4.6.0
Requires-Dist: crispy-bootstrap4>=2022.1
Requires-Dist: django-bootstrap-daterangepicker~=1.1.0
Requires-Dist: pandas==2.1.2
Requires-Dist: setuptools==68.2.2
Requires-Dist: sphinx==7.2.6
Requires-Dist: sphinx_rtd_theme==1.3.0
Requires-Dist: readthedocs-sphinx-search==0.3.1
Requires-Dist: django_filter==23.3
Requires-Dist: folium==0.15.0

# django-ndr-core

django-ndr-core is a mini CMS but most of all an access point to research data over apis.
NDR Core helps you create a project website and present your data. It lets you create
pages and add content to them. It also lets you create and manage your own data access
points over different APIs and lets you configure how to present the data and how to make
it searchable.

[![PyPI version](https://badge.fury.io/py/django-ndr-core.svg)](https://badge.fury.io/py/django-ndr-core)
[![Docker Image CI](https://github.com/sorinmarti/django_ndr_core/actions/workflows/docker-image.yml/badge.svg)](https://github.com/sorinmarti/django_ndr_core/actions/workflows/docker-image.yml)
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)

## Get Started
- Find the [Documentation](https://django-ndr-core.readthedocs.io/en/latest/) on ReadTheDocs.

#### settings.py
Open ```<project_name>/settings.py``` and add the ndr_core module and its dependencies to ```INSTALLED_APPS```:
(Leave the existing settings in place).

```python
import os
from ndr_core.ndr_settings import *

[...]

INSTALLED_APPS = [
    [...]
]
INSTALLED_APPS += NdrSettings.get_installed_apps()
```

#### urls.py
Open ```<project_name>/urls.py``` and add the ndr_core module and its dependencies to ```INSTALLED_APPS```:
(Leave the existing settings in place).
```python
from ndr_core.ndr_settings import NdrSettings

[...]

urlpatterns = [
   [...]
]
urlpatterns += NdrSettings.get_urls()
```

#### Migrate the database
After you have added the django-ndr-core module and its dependencies to your settings and urls, 
you can migrate your installation again to create the necessary database tables for your 
ndr-core installation.

```shell
python manage.py migrate
python manage.py collectstatic
```

#### Initialize your NDR Core app

```shell
python manage.py init_ndr_core
```

#### Start configuring and entering content
Run your server.
    
```shell
python manage.py runserver
```

Visit http://localhost:8000/ to view your website and http://localhost:8000/ndr_core/ 
to access the configuration interface. The last command runs your server on port 8000.
This is not suitable for production use. You should use a webserver like nginx to serve
your application. See the [Documentation](https://django-ndr-core.readthedocs.io/en/latest/) for more information.
