Rapid Application Development with Django REST Starter App
19 Aug 2022Objective
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
-
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
-
Fork and create suitable base branch starter
-
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 |