Skip to content

tiagoCMatias/monoBreaker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

56 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MonoBreaker

Build Status

MonoBreaker: A tool to guide the process of decomposing monolithic Django application into microservices

Requirements

The Django project analyzed by MonoBreaker must follow these requirements:

Django: 1.8+
Django REST framework: 3.5.1+
Python: 3.6+

Installation

Use the package manager pip to install MonoBreaker Dependencies.

pip install -r requirements.txt

In your Django Project use django_extensions and Silk

Your settings.py should look like the following:

MIDDLEWARE = [
    ...,
    'silk.middleware.SilkyMiddleware',
    ...
]

INSTALLED_APPS = (
    ...
    'rest_framework',
    'django_extensions',
    'silk'
)

Usage

Extract the following information from your project using the following commands

python manage.py graph_models app_1 app_2 --json > models.json
python manage.py show_urls > urls.txt

Extract the following tables as CSV files from Silk:

silk_request
silk_sqlquery

Add the files to the source folder of you Django Project

Run MonoBreaker:

Usage: python monoBreaker.py [options]

Options:
  -h, --help           show this help message and exit
  --pydir=PYDIR        Path to Django Project

Example: python monoBreaker.py --pydir=/Projects/DjangoProject

Contributing

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

License

MIT

About

A tool to decompose Django applications

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages