Build scalable production-grade web applications within seconds
Project description
DraftApp
Build scalable production-grade web applications within seconds
Explore the docs »
Report Bug
·
Request Feature
Getting Started
It is recommended to install DraftApp (and your project's other dependencies) in a virtualenv.
Once you’ve created and activated your Python virtual environment, you can install the latest stable release of DraftApp into this dedicated development workspace:
pip install draftapp
Set Up a DraftApp project
After you’ve successfully installed DraftApp, you’re ready to create the first draft for your new web application
You can choose from one of the two types:
- A Basic App provides you with the basic scaffold needed to get you application up and running for development
- An Advanced App provides you with a high-level scaffold for your development needs with Docker, Kubernetes manifests & Code Obfuscation
Frameworks
To check the available frameworks to set up your application with,
draftapp --help
Tyeps
To check the available types for the frameworks to set up your application with,
draftapp flask --help
Basic Flask Application
To set up a basic Flask Application,
draftapp flask -t basic -n portfolio -d /tmp/Portfolio
Tree Structure for Basic Flask Application
Portfolio/
├── Makefile
├── README.md
├── alembic
│ ├── README
│ ├── env.py
│ └── script.py.mako
├── alembic.ini
├── bin
│ └── portfolio-cli
├── configs
│ ├── gunicorn.py
│ └── local.ini
├── logs
│ └── app.log
├── portfolio
│ ├── __init__.py
│ ├── config.py
│ ├── constants.py
│ ├── manager.py
│ ├── models.py
│ ├── schemas.py
│ ├── swag
│ │ └── ping.yaml
│ └── views.py
└── setup.py
Advanced Flask Application
To set up an advanced Flask Application,
draftapp flask -t advanced -n portfolio -d /tmp/Portfolio
Tree Structure for Advanced Flask Application
Portfolio
├── Dockerfile
├── Makefile
├── README.md
├── alembic
│ ├── README
│ ├── env.py
│ └── script.py.mako
├── alembic.ini
├── bin
│ └── portfolio-cli
├── compile.py
├── configs
│ ├── gunicorn.py
│ ├── local.ini
│ └── test.ini
├── kubernetes_manifests
│ ├── README.md
│ ├── configmap.yaml
│ ├── deployment.yaml
│ ├── hpa.yaml
│ ├── ingress.yaml
│ └── service.yaml
├── lint.py
├── logs
│ └── app.log
├── portfolio
│ ├── __init__.py
│ ├── __pycache__
│ │ ├── __init__.cpython-36.pyc
│ │ ├── config.cpython-36.pyc
│ │ ├── manager.cpython-36.pyc
│ │ └── views.cpython-36.pyc
│ ├── config.py
│ ├── constants.py
│ ├── exceptions.py
│ ├── log.py
│ ├── manager.py
│ ├── middlewares.py
│ ├── models.py
│ ├── schemas.py
│ ├── swag
│ │ └── ping.yaml
│ ├── utils.py
│ ├── validators.py
│ └── views.py
├── portfolio.egg-info
│ ├── PKG-INFO
│ ├── SOURCES.txt
│ ├── dependency_links.txt
│ ├── requires.txt
│ └── top_level.txt
├── pytest.ini
├── setup.py
└── tests
├── __init__.py
├── conftest.py
└── test_views.py
Roadmap
- Add Documentation (readthedocs)
- Add docker-compose for Advanced option
- Add Additional Python Frameworks
- Add examples
See the open issues for a full list of proposed features (and known issues).
Contributing
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".
- Fork the Project
- Create your Feature Branch (
git checkout -b feature/new-feature
) - Commit your Changes (
git commit -m 'Added new feature'
) - Push to the Branch (
git push origin feature/new-feature
) - Open a Pull Request
License
Distributed under the GPL-3.0 License. See LICENSE
for more information.
Acknowledgments
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file draftapp-0.1.4.tar.gz
.
File metadata
- Download URL: draftapp-0.1.4.tar.gz
- Upload date:
- Size: 40.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 2721c270827c67a9c8c296380e21b33fb9229c67821ffcd88f2c2e7c7998b2df |
|
MD5 | 1d837601cb0ca580800ff9463313a890 |
|
BLAKE2b-256 | fa2ee355467f7989f1ce811586c106563357dcc51114f0837e380d3ddf521ebf |
File details
Details for the file draftapp-0.1.4-py3-none-any.whl
.
File metadata
- Download URL: draftapp-0.1.4-py3-none-any.whl
- Upload date:
- Size: 55.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.7.1 importlib_metadata/4.8.3 pkginfo/1.8.2 requests/2.26.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | b57567756379810d68ef7f8b9a7846a5d20917ee1bbb5169c24db62ada903cbe |
|
MD5 | d48769d3b63970d5f5da615e28e13f95 |
|
BLAKE2b-256 | b6c80fa9c792f80ae92ec866aa5c1d67bc8be2bcd4b3eca75cf6328fd47fc7f4 |