django_ndr_core
NDR_CORE is a django app which helps you build a web interface for your NDR data. This repository contains the sources to the ndr_core module.
Science Score: 54.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
✓CITATION.cff file
Found CITATION.cff file -
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
✓Academic publication links
Links to: zenodo.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (16.0%) to scientific vocabulary
Keywords
Repository
NDR_CORE is a django app which helps you build a web interface for your NDR data. This repository contains the sources to the ndr_core module.
Basic Info
- Host: GitHub
- Owner: sorinmarti
- License: bsd-3-clause
- Language: JavaScript
- Default Branch: master
- Homepage: http://ndrcore.org
- Size: 19.2 MB
Statistics
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 22
Topics
Metadata Files
README.md
django-ndr-core
Django NDR Core is a django app which helps you build a web interface to present your research data. This repository contains the sources to the ndr_core module. You are free to clone or download it, but you'll only need it if you want to develop it further (which is highly welcomed). To use NDR Core you can install it from PyPi or check out the Docker image.
More Information
- Read the Documentation on ReadTheDocs.
- Find the module on PyPi.
- Check out the Docker image on Docker Hub.
- See ndrcore.org for a demo and a list of projects using NDR Core. (in development).
How to use NDR Core
First you need to install NDR Core. You can do this in different ways. You can install it from PyPi, you can use the Docker image, or you can clone this repository and install it from the sources.
It is recommended to use the docker image for local testing and configuration. For production use you should install NDR Core from PyPi and use a webserver like nginx to serve the application.
Use the Docker image
The Docker image is available on Docker Hub. You can pull it with the following command:
shell
docker pull sorinmarti/django_ndr_core
You can run the image with the following command:
shell
docker run -p 8000:8000 sorinmarti/django_ndr_core
This will start the application on port 8000. You can access it with your browser on http://localhost:8000.
Install NDR Core from Scratch
This is a step-by-step guide to install NDR Core on a Ubuntu Machine (or similar). It is recommended to use a virtual environment for the installation. This guide assumes that you have a fresh Ubuntu installation. If you already have Python and pip installed, you can skip the first two steps.
Make sure you have Python and pip installed, update pip to the latest version
shell
python3 --version
pip3 --version
python3 -m pip install --upgrade pip
If installed, a version number is shown. If not, follow the next step
Install python and pip
shell
sudo apt-get update
sudo apt-get install python3.11
sudo apt-get -y install python3-pip
Create a project directory
Create a directory for your project and change into it. This will be the root directory of your project.
It contains the virtual environment and the django project.
shell
mkdir <project_root>
cd <project_root>
Create a virtual environment
shell
pip3 install virtualenv
virtualenv venv
Activate the virtual environment and upgrade pip
shell
source venv/bin/activate
python -m pip install --upgrade pip
Install ndr_core
This will install all the needed dependencies and also install django.
shell
pip install django-ndr-core
Start a django project
Replace <project_name> with the name of your project. It can be the same as your project root directory.
shell
django-admin startproject <project_name>
cd <project_name>
settings.py
Open <project_name>/settings.py and add the ndrcore module and its dependencies to ```INSTALLEDAPPS```:
(Leave the existing settings in place).
python
INSTALLED_APPS = [
[...],
'ndr_core'
]
Initialize your NDR Core app
Django works as such that there are different apps. django-ndr-core is a django-app which lets you create and manage your own app. Use the following command initialize your own.
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 for more information.
Roadmap
- [x] Create a basic version of the module
- [x] Create a Docker image
- [x] Create a PyPi package
- [x] Create a documentation
- [x] Create a demo site
- [ ] Add more features
- [ ] Add more tests
- [ ] Add more documentation
- [ ] Add more examples
- [ ] Add more configuration options
- [ ] Add more themes
- [ ] Add more languages
Owner
- Name: Sorin Marti
- Login: sorinmarti
- Kind: user
- Location: Switzerland
- Website: sorinmarti.com
- Repositories: 15
- Profile: https://github.com/sorinmarti
Software Engineer pursuing a new career as historian and linguist.
Citation (CITATION.cff)
cff-version: 1.2.0 message: "If you use this software, please cite it as below." authors: - family-names: "Marti" given-names: "Sorin" orcid: "https://orcid.org/0000-0002-9541-1202" title: "NDR Core" version: 0.9.1 doi: 10.5281/zenodo.7893008 date-released: 2023-08-30 url: "https://github.com/sorinmarti/django_ndr_core/"
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1
Dependencies
- actions/checkout v3 composite
- actions/setup-python v3 composite
- actions/checkout v3 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- actions/checkout v3 composite
- actions/setup-python v3 composite
- pypa/gh-action-pypi-publish 27b31702a0e7fc50959f5ad993c78deac1bdfc29 composite
- python 3.10 build
- Django ==4.2.7
- Pillow ==10.1.0
- crispy-bootstrap4 >=2022.1
- django-bootstrap-daterangepicker *
- django-bootstrap4 ==23.2
- django-ckeditor ==6.7.0
- django-colorfield ==0.10.1
- django-crispy-forms ==2.1
- django-recaptcha *
- django-tables2 ==2.6.0
- django_filter ==23.3
- django_select2 ==8.1.2
- folium ==0.15.0
- fontawesomefree ==6.4.2
- geoip2 ==4.7.0
- pandas ==2.1.3
- pylint-django ==2.5.5
- pymongo ==4.6.0
- readthedocs-sphinx-search ==0.3.1
- requests ==2.31.0
- setuptools ==68.2.2
- sphinx ==7.2.6
- sphinx_rtd_theme ==1.3.0
- actions/checkout v3 composite