Getting started

Available endpoints

  • /api/user/
  • /api/user/me/
  • /api/user/token/ (Token Based Authentication)
  • /api/medicine/
  • /api/doctor/
  • /api/medicine/
  • /api/med_result/
  • /api/med_image/
  • /api/visit/
  • /api/tag/

Requirements

Supported authentication backends

  • Token based authentication from DRF

Supported Python versions

  • Python 3.6
  • Python 3.7
  • Python 3.8
  • probably few other versions also

Supported Django versions

  • Django 1.11
  • Django 2.2
  • Django 3.0
  • probably few other versions also

Supported Django Rest Framework versions

  • Django Rest Framework 3.10
  • Django Rest Framework 3.11
  • probably few other versions also

All depedencys are in requirements.txt file, recomended way to install it is using python virtual environment like venv or virtualenv using pip install -r requirements.txt inside virtual environment.

Optional depedencys for development purpose are in requirements-dev.txt. For example to run codecov, coverage, git pre-commit hooks, Sphinx and more.

Installation

Simply direct using:

$ git clone git@github.com:TheProrok29/med-files-api.git
$ cd med-files-api
$ pip install -r requirements.txt
$ echo >> DJANGO_SECRET_KEY='YourSecretDjangoKey' .env
$ python manage.py runserver

It is possible also to run a dockerize version of this app, docker contains 3 images:

  • Med_files_api
  • Postgress database
  • Pgadmin4

To use docker postgress database it is needed to change some config options:

Configure settings.py:

Comment sqlite section and uncomment postgress

DATABASES = {
'default': {
    'ENGINE': 'django.db.backends.postgresql',
    'NAME': 'postgres',
    'USER': config('POSTGRES_USER'),
    'PASSWORD': config('POSTGRES_PASSWORD'),
    'HOST': config('DJANGO_DB_HOST', default='db'),
    'PORT': '5432',
    }
}

You must also add POSTGRES_USER, POSTGRES_PASSWORD, DJANGO_DB_HOST, PGADMIN_DEFAULT_EMAIL and PGADMIN_DEFAULT_PASSWORD variable to .env file.

Finall step is run docker-compose .. code-block:: bash

$ cd med_files_api $ sudo docker-compose up

Running the tests

To run all automated tests use:

$ python manage.py test

Coding style

I’m using autopep8 and flake8

Documentation

Documentation is under development and partially available to study at Read the Docs , also api/docs/ endpoint after run application and docs directory.

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change. Please make sure to update tests as appropriate.

Project status

This is my pet project available for me and my wife to monitor ours medical history. Aplication is still under development and in future I’ll start build front-end part off this app.