{"id":16175215,"url":"https://github.com/app-generator/flask-adminkit","last_synced_at":"2025-07-25T09:33:37.553Z","repository":{"id":100502904,"uuid":"318436484","full_name":"app-generator/flask-adminkit","owner":"app-generator","description":"Flask Dashboard - AdminKit Bootstrap 5 | AppSeed","archived":false,"fork":false,"pushed_at":"2023-10-04T15:05:58.000Z","size":12101,"stargazers_count":21,"open_issues_count":1,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-07-20T05:57:21.534Z","etag":null,"topics":["admin-dashboard","appseed","flask"],"latest_commit_sha":null,"homepage":"https://appseed.us/admin-dashboards/flask","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/app-generator.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-12-04T07:22:59.000Z","updated_at":"2024-05-30T12:42:23.000Z","dependencies_parsed_at":"2024-10-27T19:21:43.387Z","dependency_job_id":"66313334-c57c-4f62-b864-f73a208e0cfd","html_url":"https://github.com/app-generator/flask-adminkit","commit_stats":null,"previous_names":[],"tags_count":0,"template":true,"template_full_name":null,"purl":"pkg:github/app-generator/flask-adminkit","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fflask-adminkit","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fflask-adminkit/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fflask-adminkit/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fflask-adminkit/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/app-generator","download_url":"https://codeload.github.com/app-generator/flask-adminkit/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/app-generator%2Fflask-adminkit/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":266986890,"owners_count":24017026,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-07-25T02:00:09.625Z","response_time":70,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["admin-dashboard","appseed","flask"],"created_at":"2024-10-10T04:44:22.832Z","updated_at":"2025-07-25T09:33:37.506Z","avatar_url":"https://github.com/app-generator.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [Flask Dashboard](https://appseed.us/admin-dashboards/flask) AdminKit\n\nOpen-source **[Flask Dashboard](https://appseed.us/admin-dashboards/flask/)** generated by `AppSeed` op top of a modern design. **AdminKit** is a professional package that comes with hundreds of UI components, forms, tables, charts, pages and icons - **Built on top of Bootstrap 5**.\n\n- 👉 [Flask Dashboard AdminKit - Demo](https://flask-adminkit.appseed-srv1.com/) - LIVE deployment\n- 👉 [Flask Tutorial](https://github.com/app-generator/tutorial-flask) - Getting started with Flask\n\n\u003cbr /\u003e\n\n\u003e Features\n\n- DBMS: SQLite, PostgreSQL (production) \n- DB Tools: SQLAlchemy ORM, Alembic (schema migrations)\n- Modular design with **Blueprints**, simple codebase\n- Session-Based authentication (via **flask_login**), Forms validation\n- Deployment scripts: Docker, Gunicorn / Nginx, Heroku\n- Support via **Github** and [Discord](https://discord.gg/fZC6hup).\n\n\u003cbr /\u003e\n\n![Boierplate Code Flask Dashboard - Template project provided by AppSeed.](https://raw.githubusercontent.com/app-generator/flask-adminkit/master/media/flask-adminkit-screen.png)\n\n\u003cbr /\u003e\n\n## How to use it\n\n```bash\n$ # Get the code\n$ git clone https://github.com/app-generator/flask-adminkit.git\n$ cd flask-adminkit\n$\n$ # Virtualenv modules installation (Unix based systems)\n$ virtualenv env\n$ source env/bin/activate\n$\n$ # Virtualenv modules installation (Windows based systems)\n$ # virtualenv env\n$ # .\\env\\Scripts\\activate\n$\n$ # Install modules - SQLite Database\n$ pip3 install -r requirements.txt\n$\n$ # OR with PostgreSQL connector\n$ # pip install -r requirements-pgsql.txt\n$\n$ # Set the FLASK_APP environment variable\n$ (Unix/Mac) export FLASK_APP=run.py\n$ (Windows) set FLASK_APP=run.py\n$ (Powershell) $env:FLASK_APP = \".\\run.py\"\n$\n$ # Set up the DEBUG environment\n$ # (Unix/Mac) export FLASK_ENV=development\n$ # (Windows) set FLASK_ENV=development\n$ # (Powershell) $env:FLASK_ENV = \"development\"\n$\n$ # Start the application (development mode)\n$ # --host=0.0.0.0 - expose the app on all network interfaces (default 127.0.0.1)\n$ # --port=5000    - specify the app port (default 5000)  \n$ flask run --host=0.0.0.0 --port=5000\n$\n$ # Access the dashboard in browser: http://127.0.0.1:5000/\n```\n\n\u003e Note: To use the app, please access the registration page and create a new user. After authentication, the app will unlock the private pages.\n\n\u003cbr /\u003e\n\n## Code-base structure\n\nThe project is coded using blueprints, app factory pattern, dual configuration profile (development and production) and an intuitive structure presented bellow:\n\n\u003e Simplified version\n\n```bash\n\u003c PROJECT ROOT \u003e\n   |\n   |-- app/                      # Implements app logic\n   |    |-- base/                # Base Blueprint - handles the authentication\n   |    |-- home/                # Home Blueprint - serve UI Kit pages\n   |    |\n   |   __init__.py               # Initialize the app\n   |\n   |-- requirements.txt          # Development modules - SQLite storage\n   |-- requirements-mysql.txt    # Production modules  - Mysql DMBS\n   |-- requirements-pqsql.txt    # Production modules  - PostgreSql DMBS\n   |\n   |-- .env                      # Inject Configuration via Environment\n   |-- config.py                 # Set up the app\n   |-- run.py                    # Start the app - WSGI gateway\n   |\n   |-- ************************************************************************\n```\n\n\u003cbr /\u003e\n\n\u003e The bootstrap flow\n\n- `run.py` loads the `.env` file\n- Initialize the app using the specified profile: *Debug* or *Production*\n  - If env.DEBUG is set to *True* the SQLite storage is used\n  - If env.DEBUG is set to *False* the specified DB driver is used (MySql, PostgreSQL)\n- Call the app factory method `create_app` defined in app/__init__.py\n- Redirect the guest users to Login page\n- Unlock the pages served by *home* blueprint for authenticated users\n\n\u003cbr /\u003e\n\n\u003e App / Base Blueprint\n\nThe *Base* blueprint handles the authentication (routes and forms) and assets management. The structure is presented below:\n\n```bash\n\u003c PROJECT ROOT \u003e\n   |\n   |-- app/\n   |    |-- home/                                # Home Blueprint - serve app pages (private area)\n   |    |-- base/                                # Base Blueprint - handles the authentication\n   |         |-- static/\n   |         |    |-- \u003ccss, JS, images\u003e          # CSS files, Javascripts files\n   |         |\n   |         |-- templates/                      # Templates used to render pages\n   |              |\n   |              |-- includes/                  #\n   |              |    |-- navigation.html       # Top menu component\n   |              |    |-- sidebar.html          # Sidebar component\n   |              |    |-- footer.html           # App Footer\n   |              |    |-- scripts.html          # Scripts common to all pages\n   |              |\n   |              |-- layouts/                   # Master pages\n   |              |    |-- base-fullscreen.html  # Used by Authentication pages\n   |              |    |-- base.html             # Used by common pages\n   |              |\n   |              |-- accounts/                  # Authentication pages\n   |                   |-- login.html            # Login page\n   |                   |-- register.html         # Registration page\n   |\n   |-- requirements.txt                          # Development modules - SQLite storage\n   |-- requirements-mysql.txt                    # Production modules  - Mysql DMBS\n   |-- requirements-pqsql.txt                    # Production modules  - PostgreSql DMBS\n   |\n   |-- .env                                      # Inject Configuration via Environment\n   |-- config.py                                 # Set up the app\n   |-- run.py                                    # Start the app - WSGI gateway\n   |\n   |-- ************************************************************************\n```\n\n\u003cbr /\u003e\n\n\u003e App / Home Blueprint\n\nThe *Home* blueprint handles UI Kit pages for authenticated users. This is the private zone of the app - the structure is presented below:\n\n```bash\n\u003c PROJECT ROOT \u003e\n   |\n   |-- app/\n   |    |-- base/                     # Base Blueprint - handles the authentication\n   |    |-- home/                     # Home Blueprint - serve app pages (private area)\n   |         |\n   |         |-- templates/           # UI Kit Pages\n   |              |\n   |              |-- index.html      # Default page\n   |              |-- page-404.html   # Error 404 - mandatory page\n   |              |-- page-500.html   # Error 500 - mandatory page\n   |              |-- page-403.html   # Error 403 - mandatory page\n   |              |-- *.html          # All other HTML pages\n   |\n   |-- requirements.txt               # Development modules - SQLite storage\n   |-- requirements-mysql.txt         # Production modules  - Mysql DMBS\n   |-- requirements-pqsql.txt         # Production modules  - PostgreSql DMBS\n   |\n   |-- .env                           # Inject Configuration via Environment\n   |-- config.py                      # Set up the app\n   |-- run.py                         # Start the app - WSGI gateway\n   |\n   |-- ************************************************************************\n```\n\n\u003cbr /\u003e\n\n## Deployment\n\nThe app is provided with a basic configuration to be executed in [Docker](https://www.docker.com/), [Heroku](https://www.heroku.com/), [Gunicorn](https://gunicorn.org/), and [Waitress](https://docs.pylonsproject.org/projects/waitress/en/stable/).\n\n\u003cbr /\u003e\n\n### [Docker](https://www.docker.com/) execution\n---\n\nThe application can be easily executed in a docker container. The steps:\n\n\u003e Get the code\n\n```bash\n$ git clone https://github.com/app-generator/flask-adminkit.git\n$ cd flask-adminkit\n```\n\n\u003e Start the app in Docker\n\n```bash\n$ sudo docker-compose pull \u0026\u0026 sudo docker-compose build \u0026\u0026 sudo docker-compose up -d\n```\n\nVisit `http://localhost:5005` in your browser. The app should be up \u0026 running.\n\n\u003cbr /\u003e\n\n### [Heroku](https://www.heroku.com/)\n---\n\nSteps to deploy on **Heroku**\n\n- [Create a FREE account](https://signup.heroku.com/) on Heroku platform\n- [Install the Heroku CLI](https://devcenter.heroku.com/articles/getting-started-with-python#set-up) that match your OS: Mac, Unix or Windows\n- Open a terminal window and authenticate via `heroku login` command\n- Clone the sources and push the project for LIVE deployment\n\n```bash\n$ # Clone the source code:\n$ git clone https://github.com/app-generator/flask-adminkit.git\n$ cd flask-adminkit\n$\n$ # Check Heroku CLI is installed\n$ heroku -v\nheroku/7.25.0 win32-x64 node-v12.13.0 # \u003c-- All good\n$\n$ # Check Heroku CLI is installed\n$ heroku login\n$ # this commaond will open a browser window - click the login button (in browser)\n$\n$ # Create the Heroku project\n$ heroku create\n$\n$ # Trigger the LIVE deploy\n$ git push heroku master\n$\n$ # Open the LIVE app in browser\n$ heroku open\n```\n\n\u003cbr /\u003e\n\n### [Gunicorn](https://gunicorn.org/)\n---\n\nGunicorn 'Green Unicorn' is a Python WSGI HTTP Server for UNIX.\n\n\u003e Install using pip\n\n```bash\n$ pip install gunicorn\n```\n\u003e Start the app using gunicorn binary\n\n```bash\n$ gunicorn --bind 0.0.0.0:8001 run:app\nServing on http://localhost:8001\n```\n\nVisit `http://localhost:8001` in your browser. The app should be up \u0026 running.\n\n\u003cbr /\u003e\n\n### [Waitress](https://docs.pylonsproject.org/projects/waitress/en/stable/)\n---\n\nWaitress (Gunicorn equivalent for Windows) is meant to be a production-quality pure-Python WSGI server with very acceptable performance. It has no dependencies except ones that live in the Python standard library.\n\n\u003e Install using pip\n\n```bash\n$ pip install waitress\n```\n\u003e Start the app using [waitress-serve](https://docs.pylonsproject.org/projects/waitress/en/stable/runner.html)\n\n```bash\n$ waitress-serve --port=8001 run:app\nServing on http://localhost:8001\n```\n\nVisit `http://localhost:8001` in your browser. The app should be up \u0026 running.\n\n\u003cbr /\u003e\n\n## Credits \u0026 Links\n\n- [Flask Framework](https://www.palletsprojects.com/p/flask/) - The offcial website\n- [Boilerplate Code](https://appseed.us/boilerplate-code) - Index provided by **AppSeed**\n- [Boilerplate Code](https://github.com/app-generator/boilerplate-code) - Index published on Github\n\n\u003cbr /\u003e\n\n---\n[Flask Dashboard](http://appseed.us/admin-dashboards/flask) AdminKit - Provided by **AppSeed [App Generator](https://appseed.us/app-generator)**.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapp-generator%2Fflask-adminkit","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapp-generator%2Fflask-adminkit","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapp-generator%2Fflask-adminkit/lists"}