{"id":14974226,"url":"https://github.com/agent-hellboy/flask-starter","last_synced_at":"2026-03-08T06:32:33.805Z","repository":{"id":50173498,"uuid":"252520427","full_name":"Agent-Hellboy/flask-starter","owner":"Agent-Hellboy","description":"A flask extension which contains a basic app and is configured in your local machine through a command line utility","archived":false,"fork":false,"pushed_at":"2025-06-19T08:52:03.000Z","size":86,"stargazers_count":5,"open_issues_count":0,"forks_count":3,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-09T21:55:04.286Z","etag":null,"topics":["flask","flask-starter","python","starter","starter-kit","starter-template"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Agent-Hellboy.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"zenodo":null}},"created_at":"2020-04-02T17:19:49.000Z","updated_at":"2025-06-19T08:52:03.000Z","dependencies_parsed_at":"2025-05-30T10:06:44.245Z","dependency_job_id":"ec726252-8ec2-47d9-98ad-087c00d765ab","html_url":"https://github.com/Agent-Hellboy/flask-starter","commit_stats":{"total_commits":51,"total_committers":3,"mean_commits":17.0,"dds":"0.11764705882352944","last_synced_commit":"f487d31ddca3fb29f355497e964c2f30594b1234"},"previous_names":["princekrroshan01/flask-starter"],"tags_count":4,"template":false,"template_full_name":null,"purl":"pkg:github/Agent-Hellboy/flask-starter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Agent-Hellboy%2Fflask-starter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Agent-Hellboy%2Fflask-starter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Agent-Hellboy%2Fflask-starter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Agent-Hellboy%2Fflask-starter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Agent-Hellboy","download_url":"https://codeload.github.com/Agent-Hellboy/flask-starter/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Agent-Hellboy%2Fflask-starter/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":268371301,"owners_count":24239788,"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-08-02T02:00:12.353Z","response_time":74,"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":["flask","flask-starter","python","starter","starter-kit","starter-template"],"created_at":"2024-09-24T13:50:14.857Z","updated_at":"2026-03-08T06:32:33.767Z","avatar_url":"https://github.com/Agent-Hellboy.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"flask-starter\n=============\n\nA flask developement starter kit\n\n.. image:: https://img.shields.io/pypi/v/flask-starter\n   :target: https://pypi.python.org/pypi/flask-starter/\n\n.. image:: https://github.com/Agent-Hellboy/flask-starter/actions/workflows/ci.yml/badge.svg\n    :target: https://github.com/Agent-Hellboy/flask-starter/\n\n.. image:: https://img.shields.io/pypi/pyversions/flask-starter.svg\n   :target: https://pypi.python.org/pypi/flask-starter/\n\n.. image:: https://img.shields.io/pypi/l/flask-starter.svg\n   :target: https://pypi.python.org/pypi/flask-starter/\n\n.. image:: https://pepy.tech/badge/flask-starter\n   :target: https://pepy.tech/project/flask-starter\n\n.. image:: https://img.shields.io/pypi/format/flask-starter.svg\n   :target: https://pypi.python.org/pypi/flask-starter/\n\n.. image:: https://codecov.io/gh/Agent-Hellboy/flask-starter/graph/badge.svg?token=HHJ6I8Y7U7 \n   :target: https://codecov.io/gh/Agent-Hellboy/flask-starter\n\n      \nInstallation\n------------\n\n    for stable version\n       - pip install flask-starter\n\n    for current_version\n       - pip install git+https://github.com/Agent-Hellboy/flask-starter.git\n\t      \n\nusing\n------\n\nOpen the terminal and type \n    - ``flask-starter-project create your-project-name`` \n    - If you want to create a new project with an inbuilt auth and admin interface for your use ``create``\n    - If you want to add the flask-starter to your existing project use ``add``\n    - cd `your-project-name`\n    - Create the virtualenv and install the requirements which is there in `your-project-name` \n    - run `python3 server.py`\n    - You can use ``flask-starter-project create testapp --mode prod`` if you want \n      a production-ready app\n\n\nProject Structure\n---------------\n\nThe generated project follows a clean and organized structure:\n\n.. code::\n\n    your-project-name/\n    ├── app/\n    │   ├── __init__.py          # App initialization and configuration\n    │   ├── models.py            # Database models\n    │   ├── views.py             # Route handlers and views\n    │   ├── forms.py             # Form definitions and validation\n    │   ├── extension.py         # Flask extensions (SQLAlchemy, LoginManager, etc.)\n    │   ├── libs/                # Custom business logic and utilities\n    │   └── templates/           # Jinja2 templates\n    │       ├── layout.html      # Base template\n    │       ├── home.html        # Home page\n    │       ├── login.html       # Login page\n    │       ├── register.html    # Registration page\n    │       └── profile.html     # User profile page\n    ├── tests/                   # Test directory\n    │   ├── __init__.py\n    │   ├── conftest.py          # Test configuration and fixtures\n    │   └── test_views.py        # View tests\n    ├── requirements.txt         # Project dependencies\n    ├── pyproject.toml          # Project configuration and metadata\n    └── server.py               # Application entry point\n\nKey Components:\n- **app/**: Main application package\n  - **models.py**: Defines database models (User, etc.)\n  - **views.py**: Contains route handlers and view logic\n  - **forms.py**: Defines form classes and validation logic\n  - **extension.py**: Initializes Flask extensions\n  - **templates/**: HTML templates with Jinja2\n- **tests/**: Test suite with pytest\n- **server.py**: Application entry point with development server\n- **pyproject.toml**: Project configuration including:\n  - Dependencies and development tools\n  - Code formatting settings (black, isort)\n  - Linting configuration (flake8)\n  - Test configuration (pytest)\n\nYou will have the following routes by default \n\n.. code:: py\n\n        Endpoint           Methods    Rule                             \n        -----------------  ---------  ---------------------------------\n        admin.index        GET        /admin/                          \n        admin.static       GET        /admin/static/\u003cpath:filename\u003e    \n        main.home          GET        /                                \n        main.login         GET, POST  /login                           \n        main.logout        GET        /logout                          \n        main.profile       GET        /profile                         \n        main.register      GET, POST  /register                        \n        static             GET        /static/\u003cpath:filename\u003e          \n        user.action_view   POST       /admin/user/action/              \n        user.ajax_lookup   GET        /admin/user/ajax/lookup/         \n        user.ajax_update   POST       /admin/user/ajax/update/         \n        user.create_view   GET, POST  /admin/user/new/                 \n        user.delete_view   POST       /admin/user/delete/              \n        user.details_view  GET        /admin/user/details/             \n        user.edit_view     GET, POST  /admin/user/edit/                \n        user.export        GET        /admin/user/export/\u003cexport_type\u003e/\n        user.index_view    GET        /admin/user/\n\n\n \n  - You can access the admin interface by adding `/admin` to your base URL \n \n  - Just write core logic in libs and present your prototype\n\nDevelopment Tools\n---------------\n\nThe project includes several development tools configured in `pyproject.toml`:\n\n- **Code Formatting**:\n  - Black (line length: 88)\n  - isort (compatible with Black)\n\n- **Linting**:\n  - Flake8 (max line length: 88)\n  - Ignores E203 for Black compatibility\n\n- **Testing**:\n  - pytest for test execution\n  - pytest-cov for coverage reporting\n\nTo run tests with coverage:\n    - pytest --cov=app --cov-report=term-missing\n\nContributing\n------------\n\nPull requests are welcome. For major changes, please open an issue first\nto discuss what you would like to change.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagent-hellboy%2Fflask-starter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fagent-hellboy%2Fflask-starter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fagent-hellboy%2Fflask-starter/lists"}