Skip to content

About

A complete roadmap for learning django backend

Topics

Resources

Stars

812 stars

Watchers

10 watching

Forks

Latest commit

 

History

11 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 

Repository files navigation

Django Roadmap:


Part 1 (Development Basics):

  • Python virtual environment (pipenv, virtualenv, pyenv, poetry, uv (https://github.com/astral-sh/uv))

  • Effective Python Book

  • VCS (Version Control System): Git and Github (commits, branches, merges, conflicts, stashing, pull requests)

  • IDE/Text Editor: Pycharm Pro or VS Code (shortcuts, formatting, integrations, plugins)

  • Networks Basics: IPs, Ports, HTTP/HTTPS, FTP, Webservers, NATs, SSH, ...etc

  • Linux

  • Using The Terminal/CMD/PowerShell

Part 2 (Databases)

  • RDB (PostgreSQL, MySQL/MariaDB, SQLite)
  • NoSQL (MongoDB, Redis)
  • ORM (Object-Relational Mapper)

Part 3 (Software Engineering)

  • Conventional Commits
  • Trunk-based Development (https://www.atlassian.com/continuous-delivery/continuous-integration/trunk-based-development)
  • Change Logs
  • README
  • Documentation
  • Clean Code
  • Design Principles (SOLID, KISS, YAGNI, ...etc)
  • Design Patterns
  • Testing (Unit, Integration, Functional)
  • Pytest
  • TDD (Test-Driven Development)
  • BDD (Behavior-Driven Development)
  • DDD (Domain-Driven Design)
  • Issue Tracking (GitHub issues, JIRA, Redmine) Learn how to mention issue number in commit message
  • Continues Integration (GitHub Actions, Jenkins, Travis-CI)
  • pre-commit hooks (black, flake)
  • .env files and environmental variables
  • Logs, and Logging (For Example Sentry)

Part 4 (Web)

  • HTML, CSS, SASS, Javascript, Bootstrap and JQuery
  • REST API
  • Swagger
  • ngrok
  • GraphQL
  • Browser dev tools (elements tab, console, network tab, performance)

Part 5 (Theory and Tools):

  • Security (XSS, SQL Injection, CSRF, CORS, ...etc)
  • Symmetric Encryption and Asymmetric Encryption
  • SSH (Connecting, Generating Keys, Adding Hosts, ...etc)
  • Authentication (session, basic, token and jwt token)
  • Docker, docker-compose
  • Postman
  • Authentication vs Authorization

Part 6 (Django)

  • Good Resources:

    • Two-Scoops with Django
    • Code With Mosh - Ultimate Django Series
    • Documentation
  • Django App Architecture and Organization

  • Important Packages

    • django-split-settings (https://sobolevn.me/2017/04/managing-djangos-settings)
    • django-allauth (social auth)
    • django-rest-auth (for drf)
    • django-braces (mixins)
    • django-compressor (for static files)
    • django-countries (country fields)
    • django-crispy-forms (render forms)
    • django-db-mailer
    • django-el-pagination
    • django-extensions (shell_plus, jobs, ...etc)
    • drf-extra-fields (Base64Fields)
    • django-filters
    • django-fsm (state machine)
    • django-jet (admin styles and template)
    • django-modeltranslation
    • django-newsletter
    • django-phonenumber-field
    • django-push-notifications
    • django-solo
    • django-treebeard
    • PyJWT
    • django-redis
    • django-wkhtmltopdf
    • django-import-export
    • sentry-sdk
    • django-ckeditor
    • geopy (locating)
    • django-rest-knox (auth)
    • drf-spectacular (swagger)
    • easy-thumbnails
    • django-oscar
    • django-oscar-api
    • django-oscar-invoices
    • django-debug-toolbar
    • pytest-django
    • pytest-cov
  • custom management commands

  • custom migrations

  • permissions

  • Django cookie-cutter

  • Django Rest Framework

  • Wagtail

  • Django cms

Part 7 (Advanced Concepts & Devops & Production):

  • Elastic Stack
  • Caching with redis
  • Asynchronous programming (celery, rabbit mq, django rq, Kafka)
  • Linux cron jobs
  • AWS Basics (S3, EC2, Networks)
  • Gunicorn
  • Nginx
  • Microservices
  • Hosting (PAAS, SAAS, IAAS)
  • System Design (a good book is System Design Interview - An Insider's Guide)

Part 8 (Front-End Optional Miscellaneous)

  • NPM
  • Webpack
  • SPA (Vue and Nuxt.js/React and Next.js/Angular)
  • PWA
  • TypeScript
  • ...etc

About

A complete roadmap for learning django backend

Topics

Resources

Stars

812 stars

Watchers

10 watching

Forks

Contributors