Skip to content

Commit

Permalink
docs: update README.md
Browse files Browse the repository at this point in the history
Closes: #361
  • Loading branch information
b1rger committed Oct 18, 2023
1 parent 025186f commit 77bcaaa
Show file tree
Hide file tree
Showing 2 changed files with 121 additions and 218 deletions.
121 changes: 121 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,121 @@
APIS
====

The `Austrian Prosophographic Information System` is a
[Django](https://www.djangoproject.com/) based prosopography framework. It
allows to create web applications to manage entities and relations between
entities. It provides API access to the data in various formats and creates
swagger defintions. A swagger-ui allows for comfortable access to the data.

Data can also be imported from remote resources described in
[RDF](https://en.wikipedia.org/wiki/Resource_Description_Framework).

In addition to this configurable import of data via RDF, there is also an
configurable serialization of data. The generic RestAPI of APIS provides data
either in the internal JSON format, TEI or RDF (serialized with `CIDOC CRM`_).

APIS comes with a built in system of autocompletes that allows researchers to
import meta-data of entities with just a single click. Out of the box APIS
supports Stanbol_ as a backend for the autocompletes, but the system is rather
easy to adapt to any Restfull API. APIS also supports the parsing of RDFs_
describing entities into an entity. The parsing is configured in a settings
file.

*Entities*

*Relations*

Licensing
---------

All code unless otherwise noted is licensed under the terms of the MIT License
(MIT). Please refer to the file LICENSE in the root directory of this
repository.

All documentation and images unless otherwise noted are licensed under the
terms of Creative Commons Attribution-ShareAlike 4.0 International License. To
view a copy of this license, visit
http://creativecommons.org/licenses/by-sa/4.0/


Installation
------------

Create a project using your favourite package manager:

```shell
poetry new foobar --name apis_ontology
```

Currently (as of 2023-10) the name of the apis application **has** to be
`apis_ontology` - this is considered a bug and is tracked in [this bug
report](https://github.com/acdh-oeaw/apis-core-rdf/issues/100).

In your project folder, add apis as a dependency:

```shell
poetry add git+https://github.com/acdh-oeaw/apis-core-rdf#v0.6.1
```

Setup your Django project
```shell
rm -rf apis_ontology
poetry run django-admin startproject apis_ontology .
```

Now start using your Django project
```shell
poetry run ./manage.py runserver
```

To use the APIS framework in your application, add the following APIS modules to your Django settings module:

```python
"apis_ontology",
"apis_core.core",
"apis_core.apis_entities",
"apis_core.apis_metainfo",
"apis_core.apis_relations",
"apis_core.apis_vocabularies",
"apis_core.apis_labels",

```

### Dependencies

```shell
poetry add git+https://github.com/acdh-oeaw/apis-override-select2js#v0.1.0
```

`apis_override_select2js` is a workaround for APIS' handling of autocomplete forms. You will need it
if you want to use autocomplete. Add it to your `INSTALLED_APPS`

```python
"apis_override_select2js"
```


You will also need the following dependencies:
```shell
poetry add django-crispy-forms django-filter django-tables2 django-autocomplete-light django-rest-framework drf-spectacular
```
Add them to the `INSTALLED_APPS`:

```python
# ui stuff
"crispy_forms",
"django_filters",
"django_tables2",
"dal",
"dal_select2",

# api
"rest_framework",
"rest_framework.authtoken",

# for swagger ui generation
"drf_spectacular",

```

Now you should be ready to roll. Start creating your entities in you `apis_ontology/models.py`.
218 changes: 0 additions & 218 deletions README.rst

This file was deleted.

0 comments on commit 77bcaaa

Please sign in to comment.