Rapid Application Development with Django REST Starter App

Starter


Objective

Source a ready to use reusable back-end REST server app for prototyping, proof of concept, and main line development projects.

Technical Goals/Overview

Deliver a “minimal” opinionated reusable starter REST repository with the following requirements/consideration: enterprise capable and scalable REST API server/database, test coverage, Open API support, JSON Web Token authentication, continuous integration, and continuous deployment.

Summary: Technical Implementation

  1. Research/review potential open source existing repository/solutions and suitability. Several candidate repos were reviewed. Only one was deemed suitable meeting/exceeding requirements. Django repo

  2. Fork and create suitable base branch starter

  3. Develop branch containing a sample todo api interface verify requirements i.e test, open api, JWT support, etc. REST sample branch

Overall, the goal is to provide the ability to quickly create either a prototype or a ready-to-use, functioning back-end REST/Web server for applications. This technique can be utilized in a variety of scenarios including similar technology stacks such as ASP.NET Core, NodeJS, Spring, etc.


Skills Footprint:

Category Technical Specifics
general Web/REST Development * Database Development * Automated Testing * Continuous Integration * Continuous Deployment
standards REST API * SQL Database * OPEN API * JWT * OWASP
tools VSCode * GIT * Python * Docker
concepts CI/CD
packages Django * djangorestframework * drf-yasg * djangorestframework-simplejwt
deployment docker * docker-compose