Code Monkey home page Code Monkey logo

cookiecutter-drf's Introduction

cookiecutter-drf

Build Status codecov Code style: black

Getting Started

  1. Install cookiecutter.
  2. Generate your project from cookiecutter-drf:
cookiecutter gh:flexy/cookiecutter-drf

Features

Architecture:

  • Containerized with Docker
  • Python 3.7
  • Django 2.2
  • Web server: Gunicorn and Uvicorn
  • Databases: PostgreSQL, Redis
  • Dependency and python version management (Pipenv)
  • Tasks: Celery and Celery Beat

Utilities:

  • Better settings (django-environ, django-configurations)
  • Better logging (Sentry, logutils)
  • Common model fields and mixins (django-model-utils)

API:

  • Django Rest Framework
  • Swagger UI (drf-yasg)
  • Redoc UI (drf-yasg)
  • OpenAPI schema (drf-yasg)
  • QuerySet filtering (django-filter)

Authentication:

  • Custom user model
  • Authentication endpoints (djoser)
  • Social authentication and OAuth2 (social-auth-app-django, django-oauth-toolkit, django-rest-framework-social-oauth2)

Testing and Code Quality:

  • pytest with pytest-django
  • Easy API testing (django-rest-assured)
  • Factories (factory-boy)
  • django-debug-toolbar available locally
  • Code quality (Flake8, Black)
  • Code coverage (pytest-cov)
  • CI integration (Travis CI)

Continuous Deployment:

  • Heroku

Upcoming Features

  • Email verification
  • Better permissions

Development

Getting started

  1. Install dependencies:
pipenv install
  1. Launch the project environment:
pipenv shell
  1. Initialize pre-commit:
pre-commit install

Generate the project

cookiecutter . --no-input --overwrite-if-exists

cookiecutter-drf's People

Contributors

dependabot[bot] avatar ferndot avatar guyjacks avatar marijani101 avatar

Stargazers

 avatar

Watchers

 avatar

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.