Scaffold your DRF project with common python packages configured, auto-generated docs, auto-generated CRUD endpoints, code linting with pre-commit hook, and more⚡🚀
A CLI tool for rapid Rest APIs development. It abstracts the repeated aspects of building a REST API with the Django Framework by:
Allowing you start your project from one of three templates. Each template comes with features you'd most likely be setting up yourself already configured for you.
Allowing you define your models and have this tool generate CRUD endpoints for each model defined.
For example, if you define a model, Product in your models.py
file, this tool could generate a _GET /products POST /products PUT /products/
Allowing you create all the apps in your project at once, if you know them before hand.
pip install dr-cli
I highly recommend that you install this in a virtual environment.
Run dr-cli startproject project_name
to start a new DRF project.
You'd be prompted to start your project from one of three templates: Basic, Medior, and Advanced templates. Learn more about what each template comes bundled with here.
On selecting one of the templates your project will then be created. Git will be initialized in your project, and all project dependencies installed as shown in the image below:
The generated project comes with a nice Readme containing the steps for running the project
Run dr-cli startapps todo me-nu user
to create multiple Django apps in your project. Where todo me-nu user
are your app names.
Running the above command will create all your apps. Name validations would also be performed as shown in the image below:
Note Make sure to add your created apps to the list of INSTALLED APPS
Run dr-cli addcrud memo user
to create CRUD endpoints for the models defined in the specified apps.
Running the above command would return a nice looking feedback as shown in the image below:
Note Make sure to register the URLs
for each app in the top level urls.py
file.
On Windows, Emojis are only supported in Windows Terminal Preview
python manage.py runserver
to fire up your local development server, and point your browser to http://localhost:8000/api/v1/docs
to view the auto-generated docs page shown in the image below:I've documented my motivation for working on this tool here.
Coming soon...
In building this I re-used a few parts of these repositories in this project:
Please let your developer friends know about this repo :) If you star this repo too I won't complain xD
Python310 isn't supported in this project yet. We are working on it.
MIT