Giter Club home page Giter Club logo

cookiecutter-django-json-api's Introduction

Django JSON API CookieCutter template

Build Status Coverage Ruff License: MIT

This cookie cutter provides a Django project with JSON API support. It combines Adfinis best practices in terms of setup, structure and configuration.

Requirements

Usage

To use, simply run cookiecutter https://github.com/adfinis/cookiecutter-django-json-api

Included in this template

Django specific:

Code quality and formatting tools:

Per default postgres is configured and a docker compose file provided. To support other database only DATABASE_ENGINE environment variable needs to be changed.

License

Code released under the BSD-3 Clause.

cookiecutter-django-json-api's People

Contributors

pyup-bot avatar sliverc avatar dependabot-preview[bot] avatar open-dynamix avatar winged avatar anehx avatar hairmare avatar trowik avatar derrabauke avatar dependabot[bot] avatar czosel avatar johnl17 avatar winpat avatar

Stargazers

Stig Bosmans avatar Cordelya Sharpe avatar Brian M. Palma avatar Nikolaus Schlemm avatar Felipe Frizzo avatar Fábio C. Barrionuevo da Luz avatar Jonas Cosandey avatar Vladimir Bolshakov avatar  avatar  avatar  avatar

Watchers

James Cloos avatar Christian Affolter avatar Nicolas Christener avatar  avatar Kevin Cottier avatar David Vollmer avatar  avatar  avatar Akanksh Saxena avatar 4censord avatar Lunkwill avatar

cookiecutter-django-json-api's Issues

Enforce minimum Python version 3.6

Currently Python 3.5 is the minimum requirement. As all recent Linux distributions ship with 3.6 we should make it our default.

This way we are also allowed to use f-strings as of PEP 498

Your .dependabot/config.yml contained invalid details

Dependabot encountered the following error when parsing your .dependabot/config.yml:

The property '#/update_configs/0/' contains additional properties ["automerge_updates"] outside of the schema when none are allowed

Please update the config file to conform with Dependabot's specification using our docs and online validator.

Improve Docker caching layers

  • For better caching layers requirements.txt files should be copied on by one and pip install executed before copying whole python directory.
  • docker ignore files be added with common python file cases (*.pyc etc.)

Add a basic README.md how to use it

Template needs to add a README.md how project can be build and tests be run.

A list of all available environment variables to be configured is important as well.

Environment vars should not start with `DJANGO_`

We assume that this application is running in a container and there will only one process be running.

If it is still needed to run several services on a server it is recommended to use ENV_FILE anyway for simpler configuration.

Hence DJANGO_ prefix makes the environment variables simply longer but doesn't add anymore information.

Hence we should remove this prefix.

Introduce Pipenv

We should experiment with Pipenv and analyze whether it become the standard and included in this cookie cutter.

Reduce to api only

Currently there is support for Django admin integration which causes quite a bit of bloat (sessions etc.) and potential security issues.

As best practices should be to integrate Admin into frontend we should remove admin specific settings.

K8s/Helm Charts

We should start including a K8s/Helm happy path with projects based on this cookiecutter template.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.