PageRenderTime 28ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/docs/pinax_starter_projects.md

http://github.com/pinax/pinax
Markdown | 168 lines | 120 code | 48 blank | 0 comment | 0 complexity | d4affa4e7ce44e81da89cb727e86749f MD5 | raw file
  1. # Pinax Starter Projects
  2. The `pinax/pinax-starter-projects` repo is available [here](https://github.com/pinax/pinax-starter-projects/).
  3. Many starter projects are derivatives of other projects (`zero` is the parent of `account` among many
  4. others). We leverage `git` and branching to manage the hierarchy. Each project template lives in it's
  5. own branch and branches from its natural parent.
  6. All starter projects share a common method for getting started. It involves creating a virtual environment, installing Django, and running the `startproject` command with a URL to the template, followed by a few commands within your new project. Or even easier, you can use the `pinax`
  7. command line utility.
  8. ## Getting Started
  9. Refer to the Pinax Starter Project [Quick Start](quick_start.md) guide for simple steps to get started.
  10. ### Using the `pinax` command line utility
  11. Since you've already installed `pinax-cli` as described in the [Quick Start](quick_start.md) guide,
  12. you can experiment with the `pinax` command:
  13. ```shell
  14. pinax projects # list available project releases
  15. pinax start <kind> <project_name>
  16. ```
  17. If you are feeling adventurous you can install from the latest development branch by passing
  18. the `--dev` flag:
  19. ```shell
  20. pinax start --dev <kind> <project_name>
  21. ```
  22. For the Pinax `documents`, `wiki`, `team-wiki`, and `social-auth` starter projects,
  23. using the `--dev` option is the only way to create a project because
  24. these do not yet have official releases. This is indicated by a lack of version number
  25. next to the project:
  26. ```shell
  27. $ pinax projects
  28. Release Project
  29. ------- ---------------
  30. 4.0.2 account
  31. 4.0.2 blog
  32. 2.0.2 company
  33. documents
  34. social-auth
  35. 4.0.2 static
  36. 4.0.2 stripe
  37. team-wiki
  38. 3.0.2 waitinglist
  39. wiki
  40. 4.0.2 zero
  41. ```
  42. ## Starter Project Inheritance
  43. * [zero](#pinax-project-zero)
  44. * [account](#pinax-project-account)
  45. * [documents](#pinax-project-documents)
  46. * [social-auth](#pinax-project-social-auth)
  47. * [wiki](#pinax-project-wiki)
  48. * [team-wiki](#pinax-project-team-wiki)
  49. * [blog](#pinax-project-blog)
  50. * [static](#pinax-project-static)
  51. * [waiting-list](#pinax-project-waiting-list)
  52. * social
  53. * lms
  54. * forums
  55. * private-beta
  56. * symposion
  57. ## Starter Project List
  58. ### Pinax-Project-Zero
  59. This project lays the foundation for all other Pinax starter projects. It provides the project directory layout and Bootstrap-based theme.
  60. ```
  61. pinax start zero mysite
  62. ```
  63. ### Pinax-Project-Account
  64. In addition to what is provided by the "zero" project, this project provides thorough integration with django-user-accounts, adding comprehensive account management functionality. It is a foundation suitable for most sites that have user accounts.
  65. ```
  66. pinax start account mysite
  67. ```
  68. ### Pinax-Project-SocialAuth
  69. In addition to what is provided by the "account" project, this project
  70. integrates with `python-social-auth` for Twitter, Facebook, and Google
  71. authentication.
  72. ```
  73. pinax start --dev social-auth mysite
  74. ```
  75. ### Pinax-Project-Blog
  76. This project gets you off and running with a blog.
  77. ```
  78. pinax start blog mysite
  79. ```
  80. ### Pinax-Project-Static
  81. The purpose of this starter project is to provide a robust mocking and design tool.
  82. ```
  83. pinax start static mysite
  84. ```
  85. ### Pinax-Project-Documents
  86. Builds on the Accounts starter project to get you off and running with a document library built around [pinax-documents](https://github.com/pinax/pinax-documents).
  87. ```
  88. pinax start documents mysite
  89. ```
  90. ### Pinax-Project-Wiki
  91. This project is a demo starter project that provides a wiki for authenticated users.
  92. ```
  93. pinax start wiki mysite
  94. ```
  95. ### Pinax-Project-Team-Wiki
  96. This project is a starter project that has account management with profiles and teams and basic collaborative content.
  97. ```
  98. pinax start team-wiki mysite
  99. ```
  100. ### Additional starter projects:
  101. * pinax-project-social
  102. * pinax-project-waitinglist
  103. * pinax-project-symposion
  104. * pinax-project-lms
  105. * pinax-project-forums
  106. * pinax-project-teams
  107. ## Starter Project Development
  108. If you want to develop your own starter projects here is the workflow you should
  109. follow:
  110. 1. Start with the branch you want to base your new project on.
  111. 2. `git co -b <name>`
  112. 3. Do the work on your project template
  113. 4. Test your project template by running `django-admin.py startproject --template=pinax-starter-projects test1 -n webpack.config.js -n PROJECT_README.md`
  114. 5. Once you are satisified with your testing, commit.
  115. 6. `git co master` and then update this `README.md` file with details about your new project
  116. 7. Update all descendent branches:
  117. ```shell
  118. ./update.sh
  119. git push
  120. ```