{"id":14065185,"url":"https://github.com/X1Zeth2X/flask-restx-boilerplate","last_synced_at":"2025-07-29T20:31:29.259Z","repository":{"id":39829015,"uuid":"223148596","full_name":"X1Zeth2X/flask-restx-boilerplate","owner":"X1Zeth2X","description":"🔥 REST API written in Flask micro web framework with the Flask-RESTX framework.","archived":false,"fork":false,"pushed_at":"2023-05-01T22:49:29.000Z","size":70,"stargazers_count":167,"open_issues_count":6,"forks_count":31,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-08-13T07:08:21.198Z","etag":null,"topics":["api","boilerplate","flask-restplus","flask-restx","python","python3-8","rest","rest-api","rest-boilerplate","restful","restplus","swagger"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/X1Zeth2X.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2019-11-21T10:30:12.000Z","updated_at":"2024-06-22T12:42:18.000Z","dependencies_parsed_at":"2024-05-28T00:29:40.318Z","dependency_job_id":"d8c64403-c946-4ba6-922a-5369228dcab3","html_url":"https://github.com/X1Zeth2X/flask-restx-boilerplate","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/X1Zeth2X%2Fflask-restx-boilerplate","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/X1Zeth2X%2Fflask-restx-boilerplate/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/X1Zeth2X%2Fflask-restx-boilerplate/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/X1Zeth2X%2Fflask-restx-boilerplate/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/X1Zeth2X","download_url":"https://codeload.github.com/X1Zeth2X/flask-restx-boilerplate/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":228046107,"owners_count":17861096,"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","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":["api","boilerplate","flask-restplus","flask-restx","python","python3-8","rest","rest-api","rest-boilerplate","restful","restplus","swagger"],"created_at":"2024-08-13T07:04:21.331Z","updated_at":"2024-12-04T04:30:50.340Z","avatar_url":"https://github.com/X1Zeth2X.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"# Giya\n\nAn awesome REST boilerplate that uses Flask-RESTX (formerly Flask-RESTPlus).\nIt has the usual API features to get you started and off the ground,\nit's also designed to be easily scalable and extendable.\n\nI wrote this boilerplate because I found that a lot of Flask REST boilerplates are either\ndoing too much, is lacking, or it simply doesn't fit my needs.\n\n\n# Features\n\n* Full featured framework for fast, easy, and documented API with [Flask-RESTX](https://flask-restx.readthedocs.io/en/latest/)\n* JSON Web Token Authentication with [Flask-JWT-Extended](https://flask-jwt-extended.readthedocs.io/en/stable/)\n* Swagger Documentation (Part of Flask-RESTX).\n* Unit Testing.\n* Database ORM with [Flask-SQLAlchemy](https://flask-sqlalchemy.palletsprojects.com/en/2.x/)\n* Database Migrations using [Flask-Migrate](https://github.com/miguelgrinberg/flask-migrate)\n* Object serialization/deserialization with [Flask-Marshmallow](https://flask-marshmallow.readthedocs.io/en/latest/)\n* Data validations with Marshmallow [Marshmallow](https://marshmallow.readthedocs.io/en/stable/quickstart.html#validation)\n\n## Flask CLI help command output:\n```sh\nUsage: flask [OPTIONS] COMMAND [ARGS]...\n\n  A general utility script for Flask applications.\n\n  Provides commands from Flask, extensions, and the application. Loads the\n  application defined in the FLASK_APP environment variable, or from a\n  wsgi.py file. Setting the FLASK_ENV environment variable to 'development'\n  will enable debug mode.\n\n    $ export FLASK_APP=giya.py\n    $ export FLASK_ENV=development\n    $ flask run\n\nOptions:\n  --version  Show the flask version\n  --help     Show this message and exit.\n\nCommands:\n  db      Perform database migrations.\n  routes  Show the routes for the app.\n  run     Run a development server.\n  shell   Run a shell in the app context.\n  test    Run unit tests\n```\n\n# Pre-requisites\n\nThis boilerplate uses `SQLite` as its database, make sure you have it installed.\n`Pipenv` is recommended to help manage the dependencies and virtualenv.\n\nYou can also use other DBs like `PostGreSQL`, make sure you have it setup and update your `DATABASE_URL` in your configs.\nRead more at [Flask-SQLAlchemy's](https://flask-sqlalchemy.palletsprojects.com/en/2.x/) documentations.\n\nIt uses [Black](https://github.com/psf/black) for code styling/formatting.\n\n# Usage\n\n## Notes\n\nBy default the `/` route is used by the `auth` blueprint.\n\nThe rest of the resources are found in `/api` (This is the docs route by default, this can be changed easily).\n\n**Note**: Pipenv seems to have been becoming unmaintained or unsupported, so `virtualenv` is recommended to manage your packages and Python environment, hence why `requirements.txt` has been generated.\n\n## Installing with Pipenv\n```sh\n# Clone the repo\n$ git clone https://github.com/X1Zeth2X/flask-restx-boilerplate.git\n\n# Install packages with pipenv\n$ pipenv install\n```\n\n## Running\nPlease specify your app's environment variables in a `.env` file, otherwise Flask CLI wouldn't find your app.\n\n```sh\n# .env file example\nexport FLASK_APP=giya\n\n# configs: production, testing, development, and default (uses DevelopmentConfig)\nexport FLASK_CONFIG=development\n\n# Another way of assigning environment variables is:\nFLASK_APP=giya\nFLASK_CONFIG=development\n\n# Read more at https://github.com/theskumar/python-dotenv\n```\n\n```sh\n# Enter the virtualenv\n$ pipenv shell\n\n# (Optional for development, recommended)\n$ flask db init # Initializes a new SQLite database.\n$ flask db migrate # Creates the tables in the database.\n\n# Run the app\n$ flask run\n```\n\n## Unit testing\nGiya has already some unit tests written, we encourage adding more unit tests as you scale.\n\n```sh\n# Unit testing\n$ flask test\n\n# Run specific unit test(s)\n$ flask test tests.test_auth_api tests.test_user_model ...\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FX1Zeth2X%2Fflask-restx-boilerplate","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FX1Zeth2X%2Fflask-restx-boilerplate","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FX1Zeth2X%2Fflask-restx-boilerplate/lists"}