README.md

generator-django-rest

A Yeoman generator for a Django REST API
(and optionally a React SPA)
that makes you efficient, includes features you need in a typical
modern web app, yet keeps things simple. You can see an example app bootstrapped
in this manner here.

Note: the project is still considered to be in beta until I get a chance
to test it on more apps. That said, I am using it in my own projects :)

Features

The philosophy is to include features useful across projects
that are tedious to set up from scratch.
Some of the cool features are:

🚀 quick to launch – start a new project and deploy it to Heroku
in 3 commands:

⛵️ monorepo - option to automatically set up a create-react-app
frontend for you in the same git repo with everything integrated under the mantra
one app, one repo, one dyno

📦 Heroku-friendly packaging – if you're using the built-in React frontend,
deploy.sh minifies the frontend and packages it up with Django
into a separate prod branch ready for deployment as a Django web app
(that gets deployed to Heroku by default)

🐶 familiar – check out the rough
project file layout,
it's much like django-admin startproject myproject would set it up
(only repeats the project name twice,
i.e. ~/code/myproject/myproject/settigns.py). An example generated app is
available here.

Getting Started

To begin, you need to install node.js.
Once you have that, you need Yeoman pre-installed. Yeoman lives in the
npm package repository. You only have to ask for him
once, then he packs up and moves into your hard drive.

npm install -g yo

Then, we need the django-rest generator, i.e. plug-in. You install
generator-django-rest from
npm.

npm install -g generator-django-rest

Finally, for every new project you would initiate the generator
in an empty folder.

mkdir myproject
cd myproject
yo django-rest

Now check the HACKING.md file in the generated code project for
extra instructions (generated from this template if you're curious).