Skip to content

ridwanray/django-microservice-auth-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Django(DRF) Microservice Authentication App

Complete Guide

Tools & Services:

  • Django & DRF : for building the APIs
  • Docker & Docker compose: Containerization
  • Celery: For running background task
  • Rabbit MQ: A message broker for celery
  • Flower dashboard: For monitoring celery background tasks
  • PostgreSQL: Relational DB

Running locally

Create a .env file by copying the .env.sample provided and run:

docker compose build && docker compose up

to start the container. As an alternative, run:

docker compose -f docker-compose.dev.yml up --build

to build and run the container using the dev yaml file. Make sure to externalize the db instance to be used. It can be in another container.

Run tests

Run descriptive tests in the container using:

docker compose exec <docker_container_name> pytest -rP -vv

Access the docs on:

http://localhost:8000/api/v1/doc

Running In a Virtual Env

Create a virtual environment using:

mkvirtualenv <env_name>

Ensure you have installed virtualenv on your system and install dev dependencies using

pip install -r app/requirements/dev.txt

Navigate to app directory and run migrations using:

python manage.py makemigrations

python manage.py migrate

Run the server using:

python manage.py runserver

Generating Fixtures (Seeding Permissions)

Permissions

Load permissions needed in app into the db

python manage.py loaddata */fixtures/*.json

Export Permissions from db

python manage.py dumpdata  --format=json user.Permission -o core/fixtures/Permission.json

Access docs:

http://localhost:8000/api/v1/doc

Screenshot


Screenshot


About

Authetication service for a microservice architecture

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published