https://github.com/audreyfeldroy/wagtail-starter-kit
A cookiecutter complete with wagtail, django layout, vagrant, provisioning scrips, front end build system and more!
https://github.com/audreyfeldroy/wagtail-starter-kit
Last synced: 3 months ago
JSON representation
A cookiecutter complete with wagtail, django layout, vagrant, provisioning scrips, front end build system and more!
- Host: GitHub
- URL: https://github.com/audreyfeldroy/wagtail-starter-kit
- Owner: audreyfeldroy
- License: mit
- Created: 2016-04-19T05:55:49.000Z (about 9 years ago)
- Default Branch: master
- Last Pushed: 2016-04-19T06:01:55.000Z (about 9 years ago)
- Last Synced: 2025-02-04T14:50:08.858Z (4 months ago)
- Language: Python
- Size: 288 KB
- Stars: 1
- Watchers: 3
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.rst
- Changelog: CHANGELOG.rst
- Contributing: CONTRIBUTING.rst
- License: LICENSE
Awesome Lists containing this project
README
*******************
Wagtail Starter Kit
*******************Welcome to Wagtail Starter Kit, a cookiecutter template for Django Projects.
Overview
========Wagtail Starter Kit provides you with a flexible starting point for your Django project. Included in this template is a Django development environment provided by vagrant, a project layout based on pydanny's `cookiecutter django`_ and `Two Scoops of Django`_ and a lean set of dependencies. The goal is to provide you with everything you need to quickly and easily start a new Django Wagtail project.
Wagtail Starter Kit uses a scaffolding tool called `cookiecutter`_. Cookiecutter is similar to `Yeoman`_. These tools are used to automatically build out entire projects instead of you having to create files manually and modify their configurations.
.. _cookiecutter django: https://github.com/pydanny/cookiecutter-django
.. _Two Scoops of Django: https://www.twoscoopspress.com/products/two-scoops-of-django-1-8
.. _Yeoman: http://yeoman.io/
.. _cookiecutter: https://cookiecutter.readthedocs.org/en/latest/index.htmlQuick Start
===========1. Install Cookiecutter
-----------------------* OSX
.. code-block:: bashbrew install cookiecutter
* Linux + Windows
.. code-block:: bashpip install cookiecutter
2. Build your Django project based on wagtail starter kit
---------------------------------------------------------.. code-block:: bash
cookiecutter https://github.com/tkjone/wagtail-starter-kit.git
You are going to be prompted to answer some questions about your project and the answers you provide will be used to build and configure your new Django Wagtail project. These questions are called `prompts`. If you leave a `prompt` blank, Cookiecutter will use the default answer in the square brackets. For a list of the prompts used by this template, please see the `prompts documentation`_
For example, let us pretend your a huge fan of Taye Diggs and you want to make a website celebrating his life. This is how that would look:
.. image:: ./cookiecutter_example.gif
Out of the Box
==============The `wagtail starter kit` provides you with the following feature set:
* Django 1.9.x
* Wagtail 1.4.x
* React
Project is configured to use React automatically. While React might not be your thing, and I do want to keep this project flexible, it is very easy to remove the depedency.
* Vagrant Setup - Ubuntu 14.04
This includes a 100% configured Vagrantfile with a Ubuntu 14.04 vagrant box.
* Provisioning Scripts
Shell scripts to automate the configuration of your vagrant box, setup your virtualenvironments, initialize and migrate your projects database, install Django dependencies and create project superuser.
* Multiple virtualenvironments
The provisioning scripts will provide you with two virtualenvironments. One uses Python 2 and the other uses Python 3. No configuration required, no changes to the Ubuntu default version of Python, just switch between one or the other using virtualenvwrapper's `workon` command
* 12 Factor App
Project is inspired by `12 factor app`_ which means it comes configured to use environment variables, database connection strings and other methodologies outlined in the 12 Factor manifesto. Each one has defaults, which means you don't have to setup a `.env` or export variables to start development work.
* Multiple database choices (Postgres or sqlite)
Are you working on a Proof of Concept and don't need a full blown database? No worries, this project gives you the choice of sqlite or postgres and everything will be configured accordingly.
* lean project layout - HTML5 Boilerplate + Home App
This project tries to provide a lean project layout. HTML5 boilerplate inspired base.html file. In addition, I have included a bare bones Home app which will start you off with a wagtail page and also initialize a site for you!
* Configured Django dev setup
Providing you with some essential tools to get you up and running. This includes:
* django-extensions
* django-nose
* coverage
* django-debug-toolbar* Complete front end build workflow
I have provided a complete front end workflow that includes
* gulp
* browsersync
* webpack
* tape
* es6 support
* eslint* Collaboration - dotfiles and documentation structure
Documentation is important, wagtail-starter-kit provides you with a basic documentation structure that and dot-files for improved collaboration.
.. _12 factor app: http://12factor.net/
Constraints
===========* Vagrant setup tested on Linux and OSX
Project has not yet been tested on Windows OS.
* Postgres 9.0 or sqlite
While you can configure this project to use other databases, I only provide configurations for Postgres and sqlite at this moment.
* Environment Variables (these won't work with Apache/mod_wsgi)
Deeper Dive
===========Check out `guides django`_ for a step by step guide that explains this project in great detail. Wagtail starter kit is built as a learning tool to help early and intermediate django developers get a better understanding, through practical application, of how to setup and configure a Django project.
.. _guides django: https://github.com/tkjone/guides-django
Contributing
============I am a believer in the community creating things together. If you are reading through anything I have written here and find that it is incorrect, outdated or lacking in proper documentation, please feel free to create an issue or fork this repo and make a PR.
Branches
--------If you are running tests for this project, change into the root directory of the cookiecutter and run ``py.test``.
Branches
--------This repo's branches correspond to the version of Django being used. This project will always default to the latest version of Django and the branches will follow the `django roadmap`_. Currently there is only a master branch and it will stay this way until the next Django release (1.10).
.. _django roadmap: https://www.djangoproject.com/weblog/2015/jun/25/roadmap/
.. _prompts documentation: https://github.com/tkjone/wagtail-starter-kit/blob/master/docs/prompts.rst