1.
Django Roadmap:
2. 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
3. Part 2 (Databases)
RDB (PostgreSQL, MySQL/MariaDB, SQLite)
NoSQL (MongoDB, Redis)
ORM (Object-Relational Mapper)
4. 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)
5. Part 4 (Web)
HTML, CSS, SASS, Javascript, Bootstrap and JQuery
REST API
Swagger
ngrok
GraphQL
Browser dev tools (elements tab, console, network tab, performance)
6. 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
7. Part 6 (Django)
Good Resources:
o Two-Scoops with Django
o Code With Mosh - Ultimate Django Series
o Documentation
Django App Architecture and Organization
Important Packages
o django-split-settings (https://sobolevn.me/2017/04/managing-
djangos-settings)
o django-allauth (social auth)
o django-rest-auth (for drf)
o django-braces (mixins)
o django-compressor (for static files)
o django-countries (country fields)
o django-crispy-forms (render forms)
o django-db-mailer
o django-el-pagination
o django-extensions (shell_plus, jobs, ...etc)
o drf-extra-fields (Base64Fields)
o django-filters
o django-fsm (state machine)
o django-jet (admin styles and template)
o django-modeltranslation
o django-newsletter
o django-phonenumber-field
o django-push-notifications
o django-solo
o django-treebeard
o PyJWT
o django-redis
o django-wkhtmltopdf
o django-import-export
o sentry-sdk
o django-ckeditor
o geopy (locating)
o django-rest-knox (auth)
o drf-spectacular (swagger)
o easy-thumbnails
o django-oscar
o django-oscar-api
o django-oscar-invoices
o django-debug-toolbar
o pytest-django
o pytest-cov
custom management commands
custom migrations
permissions
Django cookie-cutter
Django Rest Framework
Wagtail
Django cms
8. 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)
9. Part 8 (Front-End Optional Miscellaneous)
NPM
Webpack
SPA (Vue and Nuxt.js/React and Next.js/Angular)
PWA
TypeScript
...etc