Viewflow/turbo

The low-code for developers
with yesterday's deadline

What?

Reusable component library allows to create full-featured business applications in just a few lines of code 

Designed to be easily included in any Django project. Ideal for Corporate and Private Deployments.

Why?

1
Meet yesterday's deadline When you have not much choice. Iterate quickly, deliver a working solution from day one
2
Cut development cost. Focus on your business goals, reuse and customize pre-made building blocks.
3
To be sure that everything is feasible. Retain the ability to use all Django and Python features in a low code project
4
Write as little code as possible. Keep your codebase manageable, understandable, and adaptable to new requirements
tips_and_updates

When?

Quick start right now:

pip install django-viewflow
Add into settings.py
INSTALLED_APPS = [
    '...',
    'viewflow',
]
        
And follow the quickstart guide

How?

Viewflow helps speed up development process

{% extends 'viewflow/base_page.html' %}


{% block page-toolbar-actions %}
   {{ block.super }}
   <!-- additional toolbar actions -->
{% endblock %}


{% block page-menu-app %}
  {{ block.super }}
  <!-- additional sidebar actions -->
{% end block %}


{% block content %}
  <!-- page content -->
{% endblock %}

Start immediately
Simple, and beautiful design system already familiar for millions of users
class UserViewset(
    ExportViewsetMixin,
    DeleteViewMixin,
    ModelViewset
):
  model = User
  create_view_class = CreateUserView
  list_columns = ('first_name', 'last_name',)
  list_filter_fields = ('is_superuser', )
  form_widgets = {
      'department': AjaxModelSelect(
          lookups=['name__istartswith']
      )
  }

  def get_queryset(self):
      return User.objects.exclude(
          removed=True
      ).select_related('groups')
Ready-made and customizable
Class-based composition for views with declaration of behavior in one place
layout = Layout(
    Row('first_name', 'last_name'),
    Row('email', 'phone'),
    FieldSet(
      "Card Details",
      Row(
          Column("card_type", desktop=4),
          Column(
              "card_holder",
              Row(
                  Span("card_number", desktop=10),
                  Span("card_ccv2", desktop=2)),
              Row("card_exp_month", "card_exp_year"),
              desktop=8,
          ),
      ),
    )
    FormSet('addresses', card_desktop=4),
)
Control on layout and logic
Complex data-entry forms without wasting time with HTML or Javascript
class Workflow(flow.Flow):
    start = (
        flow.Start(start_view)
        .Permission("workflow.can_start_request")
        .Next(this.approve)
    )
    approve = (
      flow.View(UpdateProcessView.as_view(
        fields=['comment'])
      )
      .Assign(select_random_admin)
      .Next(this.process)
    )
    process = (
        celery.Job(process_request)
        .Next(this.end)
    )
    end = flow.End()
  
Explicitly describe people collaboration
An additional thin architectural layer on top of standard Django Model-ViewTemplate for simple control of dependency logic
Check Live Demo

Who?

Our happy customers

+100 more

Where?

Viewflow is a tool for developers who sit next to real users. It's well-suited for for a small team of developers working on real-world business automation

Viewflow helps you collaborate with people to get a working solution from day one of development. Deploy and iterate daily with your users. You can choose from a variety of out-of-the-box components or implement custom solutions, all while leveraging the power of Python and Django and maintaining a small code base

Have a question?

Contact Us!

Feel free to ask a question on Viewflow Github discussions
Pro customers email support contact is support@viewflow.freshdesk.com or use green button at the bottom right corner.

Mikhail Podgurskiy

Software developer
  • Came to idea of workflow library when fighting with Workflows GUI in 2004
  • Spent 5 years in the banking industry to shoulder-to-shoulder work with business on automation.
  • Wrote open sourced django-fsm library to reduce pain of business apps development at 2010