This intends to be an readme-documented, open-source-licensed, semantic-versioned, conventional-committed and changelogged git repository starting point for the development of a brand-new twelve-factor Django project
A straightforward beginning for an open-source Django project repository
Beside brings GAE's expected file system structure, generic-named powered-up Django project base and useful Makefile targets to help development process, it also provides deploy-on-push automation through the use of Google's official deploy-appengine Github action.
See all
First of all, from this template,
Name it accordingly and place where it best fits for your team.
Make sure you have Git
, Make
and Python
installed:
$ git --version
git version 2.25.1
$ make --version
GNU Make 4.2.1
$ python3 --version
Python 3.9.0+
Thus, clone the recent-created repository locally, and set up its development environment:
$ make init
$ . venv/bin/activate
Finally, you are ready to create your Django's first app and proceed developing your application.
You will need to have a Google Cloud Project configured.
So, through its console, enable the App Engine Admin API
and also set up a Service Account to your project,
registering its key into your fresh-repo secrets
as GCP_SA_KEY
.
For more details, check deploy appengine action description.
After all, you should make this project your own:
Write a good README to present it to the world.
And also ensure to tailor the project license to your needs.
Here some descriptions about this template project:
This project shortens a repository start setup, considering:
- Inclusion of a mature README document, inspired by Standard Readme
- Inclusion of an open-source LICENSE file
- Inclusion of a structured, yet raw, CHANGELOG file
- Compliance with widely-used version control conventions, such as:
It also powers up development workflow by:
- Inclusion of an appropriate .gitignore and .gcloudignore files
- Inclusion of a minimal requirements file
- Inclusion of a proficient Makefile that improve development management
- Inclusion of preconfigured Django project settings functionalities
- Inclusion of a structed app.yaml (App Engine service settings) file
And configures continuous delivery workflow to:
- Deploy application on Google App Engine
.
├── .git/ Version control system folder
├── .github Github repo's configuration directory
│ └── workflows Continuous integration settings
│ └── deploy.yml Deploy-on-push automation descriptor
├── .gcloudignore GCP ignored files manifest
├── .gitignore VCS ignored files manifest
├── app.yml App Engine service settings
├── CHANGELOG.md Release notes description
├── LICENSE License file
├── Makefile Development management facilities
├── README.md Repo readme document
├── requirements.txt Python dependency descriptor
└── src
├── __project__ Django project root folder
└── manage.py Django's command-line utility
This project is maintained by the author, @artu-hnrq.
It has reached a stable, usable state and is being actively developed.
This project is published under the permissions established by GNU General Public License v3.0.