All Projects → dpgaspar → Flask Appbuilder

dpgaspar / Flask Appbuilder

Licence: bsd-3-clause
Simple and rapid application development framework, built on top of Flask. includes detailed security, auto CRUD generation for your models, google charts and much more. Demo (login with guest/welcome) - http://flaskappbuilder.pythonanywhere.com/

Programming Languages

python
139335 projects - #7 most used programming language
HTML
75241 projects
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Flask Appbuilder

Evolutility Server Node
Model-driven REST or GraphQL backend for CRUD and more, written in Javascript, using Node.js, Express, and PostgreSQL.
Stars: ✭ 84 (-97.67%)
Mutual labels:  rest-api, rest, sql, crud
Fastapi Crudrouter
A dynamic FastAPI router that automatically creates CRUD routes for your models
Stars: ✭ 159 (-95.59%)
Mutual labels:  rest, sql, crud
Cerberus
A demonstration of a completely stateless and RESTful token-based authorization system using JSON Web Tokens (JWT) and Spring Security.
Stars: ✭ 482 (-86.62%)
Mutual labels:  rest-api, rest, authentication
Siodb
The simplicity of REST and the power of SQL combined in a database that automatized security and performance. Forget the database, develop faster and safer!
Stars: ✭ 31 (-99.14%)
Mutual labels:  rest-api, rest, sql
Rest Hapi
🚀 A RESTful API generator for Node.js
Stars: ✭ 1,102 (-69.41%)
Mutual labels:  rest-api, rest, crud
Appkernel
API development made easy: a smart Python 3 API framework
Stars: ✭ 152 (-95.78%)
Mutual labels:  rest-api, rest, flask
Node Typescript Koa Rest
REST API boilerplate using NodeJS and KOA2, typescript. Logging and JWT as middlewares. TypeORM with class-validator, SQL CRUD. Docker included. Swagger docs, actions CI and valuable README
Stars: ✭ 739 (-79.49%)
Mutual labels:  rest-api, sql, crud
Flask Restful Authentication
An example for RESTful authentication using nginx, uWSGI, Flask, MongoDB and JSON Web Token(JWT).
Stars: ✭ 63 (-98.25%)
Mutual labels:  rest-api, flask, authentication
Jaguar
Jaguar, a server framework built for speed, simplicity and extensible. ORM, Session, Authentication & Authorization, OAuth
Stars: ✭ 286 (-92.06%)
Mutual labels:  rest-api, rest, authentication
Ngx Api Utils
ngx-api-utils is a lean library of utilities and helpers to quickly integrate any HTTP API (REST, Ajax, and any other) with Angular.
Stars: ✭ 92 (-97.45%)
Mutual labels:  rest-api, rest, authentication
Magic
Create your .Net Core/Angular/Database CRUD Web apps by simply clicking a button
Stars: ✭ 214 (-94.06%)
Mutual labels:  rest-api, rest, crud
Httpie
As easy as /aitch-tee-tee-pie/ 🥧 Modern, user-friendly command-line HTTP client for the API era. JSON support, colors, sessions, downloads, plugins & more. https://twitter.com/httpie
Stars: ✭ 53,052 (+1372.44%)
Mutual labels:  rest-api, rest
citrus
🌈 低代码快速开发脚手架,灵活、高效,降低开发成本
Stars: ✭ 368 (-89.79%)
Mutual labels:  crud, rbac
Keycloak Nodejs Admin Client
🔑 NodeJS keycloak admin client
Stars: ✭ 309 (-91.42%)
Mutual labels:  rest-api, authentication
Php Sql Query Builder
An elegant lightweight and efficient SQL Query Builder with fluid interface SQL syntax supporting bindings and complicated query generation.
Stars: ✭ 313 (-91.31%)
Mutual labels:  sql, crud
Http Fake Backend
Build a fake backend by providing the content of JSON files or JavaScript objects through configurable routes.
Stars: ✭ 253 (-92.98%)
Mutual labels:  rest-api, rest
Safrs
SqlAlchemy Flask-Restful Swagger Json:API OpenAPI
Stars: ✭ 255 (-92.92%)
Mutual labels:  rest-api, flask
Guns
Guns基于SpringBoot 2,致力于做更简洁的后台管理系统,完美整合springmvc + shiro + mybatis-plus + beetl!Guns项目代码简洁,注释丰富,上手容易,同时Guns包含许多基础模块(用户管理,角色管理,部门管理,字典管理等10个模块),可以直接作为一个后台管理系统的脚手架!
Stars: ✭ 3,327 (-7.66%)
Mutual labels:  rest-api, rest
Spring Petclinic Rest
REST version of the Spring Petclinic sample application
Stars: ✭ 257 (-92.87%)
Mutual labels:  rest-api, rest
Roapi
Create full-fledged APIs for static datasets without writing a single line of code.
Stars: ✭ 253 (-92.98%)
Mutual labels:  rest-api, sql

Flask App Builder

PyPI https://codecov.io/github/dpgaspar/Flask-AppBuilder/coverage.svg?branch=master

Simple and rapid application development framework, built on top of Flask. includes detailed security, auto CRUD generation for your models, google charts and much more.

Extensive configuration of all functionality, easily integrate with normal Flask/Jinja2 development.

Checkout installation video on YouTube

Quick how to Demo from the docs (login has guest/welcome).

Change Log

Versions for further detail on what changed.

BREAKING CHANGE on 3.0.0 (OAuth)

Major version 3, changed it's OAuth dependency from flask-oauth to authlib, due to this OAuth configuration changed:

Before:

OAUTH_PROVIDERS = [
    {'name':'google', 'icon':'fa-google', 'token_key':'access_token',
        'remote_app': {
            'consumer_key':'GOOGLE KEY',
            'consumer_secret':'GOOGLE SECRET',
            'base_url':'https://www.googleapis.com/oauth2/v2/',
            'request_token_params':{
              'scope': 'email profile'
            },
            'request_token_url':None,
            'access_token_url':'https://accounts.google.com/o/oauth2/token',
            'authorize_url':'https://accounts.google.com/o/oauth2/auth'}
    }
]

Now:

OAUTH_PROVIDERS = [
    {'name':'google', 'icon':'fa-google', 'token_key':'access_token',
        'remote_app': {
            'client_id':'GOOGLE KEY',
            'client_secret':'GOOGLE SECRET',
            'api_base_url':'https://www.googleapis.com/oauth2/v2/',
            'client_kwargs':{
              'scope': 'email profile'
            },
            'request_token_url':None,
            'access_token_url':'https://accounts.google.com/o/oauth2/token',
            'authorize_url':'https://accounts.google.com/o/oauth2/auth'}
    }
]

Also make sure you change your dependency for flask-oauth to authlib

Fixes, Bugs and contributions

You're welcome to report bugs, propose new features, or even better contribute to this project.

Issues, bugs and new features

Contribute

Includes:

  • Database
    • SQLAlchemy, multiple database support: sqlite, MySQL, ORACLE, MSSQL, DB2 etc.
    • Partial support for MongoDB using MongoEngine.
    • Multiple database connections support (Vertical partitioning).
    • Easy mixin audit to models (created/changed by user, and timestamps).
  • Security
    • Automatic permissions lookup, based on exposed methods. It will grant all permissions to the Admin Role.
    • Inserts on the Database all the detailed permissions possible on your application.
    • Public (no authentication needed) and Private permissions.
    • Role based permissions.
    • Authentication support for OAuth, OpenID, Database, LDAP and REMOTE_USER environ var.
    • Support for self user registration.
  • Views and Widgets
    • Automatic menu generation.
    • Automatic CRUD generation.
    • Multiple actions on db records.
    • Big variety of filters for your lists.
    • Various view widgets: lists, master-detail, list of thumbnails etc
    • Select2, Datepicker, DateTimePicker
    • Related Select2 fields.
    • Google charts with automatic group by or direct values and filters.
    • AddOn system, write your own and contribute.
  • CRUD REST API
    • Automatic CRUD RESTful APIs.
    • Internationalization
    • Integration with flask-jwt-extended extension to protect your endpoints.
    • Metadata for dynamic rendering.
    • Selectable columns and metadata keys.
    • Automatic and configurable data validation.
  • Forms
    • Automatic, Add, Edit and Show from Database Models
    • Labels and descriptions for each field.
    • Automatic base validators from model's definition.
    • Custom validators, extra fields, custom filters for related dropdown lists.
    • Image and File support for upload and database field association. It will handle everything for you.
    • Field sets for Form's (Django style).
  • i18n
    • Support for multi-language via Babel
  • Bootstrap 3.1.1 CSS and js, with Select2 and DatePicker
  • Font-Awesome icons, for menu icons and actions.

Some pictures

Login page (with AUTH_DB)

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/login_db.png

Login page (with AUTH_OAUTH)

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/login_oauth.png

Security

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/security.png

Lists:

List contacts example

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/contact_list.png

List Group example with search

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/group_list.png

Charts:

Group by pie chart

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/grouped_chart.png

Direct time chart

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/direct_chart.png

Group by time chart

https://raw.github.com/dpgaspar/flask-AppBuilder/master/images/chart_time2.png

Projects/Organizations using FAB

If you would like to share your project, or let everyone know that you're using FAB on your organization please submit a PR or send me an email with the details.

Projects:

  • Superset - a data exploration platform designed to be visual, intuitive, and interactive
  • Airflow - a platform to programmatically author, schedule, and monitor workflows.

Organizations:

Depends on:

  • flask
  • click
  • colorama
  • flask-sqlalchemy
  • flask-login
  • flask-openid
  • flask-wtform
  • flask-Babel
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].