Skip to content

freshprince00/django-roadmap-progress

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

11 Commits
 
 

Repository files navigation

Django Roadmap:


Part 1 (Development Basics):

⭐⭐⭐⭐ Python virtual environment (pipenv, virtualenv, pyenv) - [A}

  • 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

⭐⭐⭐ 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

⭐⭐⭐ 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

About

A complete roadmap for learning django backend

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published