/django-project-360

Django Project 360

Primary LanguagePythonMIT LicenseMIT

Django Project 360

A opinionated template which is conceptualized by reading many other opinionated Django Project template proposals. Taking the best of those. Some of the key features of this template are

  1. Developer first (minimal steps required to run/develop things)
    1. Use mac/linux/Windows as long you can run Docker
  2. Docker-compose for services
  3. pipenv to track project python dependencies.
  4. No namespace conflicts between django community and your projects.

Contribute code

  1. cd newly cloned repo
  2. Make sure docker and docker-compose is installed
    1. Install docker-ce
    2. Enable tcp control for docker host
  3. Make sure you pipenv is installed
  4. Execute pipenv --python 3.5
    1. Execute pipenv shell
    2. Execute pipenv install -d
  5. Get a dev envbin/dev_box (This might take some time if its first time on the system)
    • your username is your password if required
    • If for some reason you see errors with env_generator.py to unblock
      • copy env_template.yaml to env_template_override.yaml
      • Replace the content of each value manually yourself
  6. Deploy local instance of yourDjangoProject
    1. Access things on 0.0.0.0:8080
  7. Figure out
    1. Replacement for youNameSpace
    2. Replacement for yourDjangoProject
  8. Replace all instances of these two.
  9. Create branch git branch and do what you are best at.

Future RoadMap Examples

  1. Replace sqlite db with postgres
  2. Add testing support
  3. Add celery support out of the box to template
  4. Add logging to local ELK Stack
  5. Add DRF support
  6. Add AppAdmins to templates
  7. Add DjangoDbBackup
  8. Add Production like deployment
  9. Add kubernetes support

yourDjangoProject Doc Index

  1. Dev Notes