• Stars
    star
    674
  • Rank 66,980 (Top 2 %)
  • Language
  • Created over 2 years ago
  • Updated 6 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A complete roadmap for learning django backend

Django Roadmap:


Part 1 (Development Basics):

  • Python virtual environment (pipenv, virtualenv, pyenv)

  • 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

More Repositories

1

HHHMHA

5
star
2

sports_league

Python
3
star
3

myshop

Dart
3
star
4

graphql_social_media_api

Python
3
star
5

mock-repo

HTML
3
star
6

NuxtBNB

Vue
3
star
7

amigosservices

Java
3
star
8

TPS-Zombie-Game

C#
3
star
9

celeritas

Go
2
star
10

my-vue3-project

TypeScript
2
star
11

celeritas-example

Go
2
star
12

drag-drop-ts

TypeScript
2
star
13

recipe-app-api

Recipe app API source code
Python
2
star
14

pixl

Go
2
star
15

flash-chat-flutter

Dart
2
star
16

multi_store_app

C++
2
star
17

complete-tensorflow-2-and-keras-deep-learning-bootcamp

1
star
18

certificate-example

Small web server for Tishreen University demonstrating https certificates
Python
1
star
19

ASE-VCS-Homework

Just a dummy repo created for the Software Engineering Assignment
1
star
20

ais-a5-assignment

Implementation of the A5/1 Cipher algorithm for Tishreen Master Assignment
Java
1
star
21

sfg-pet-clinic

Java
1
star
22

srp-django-sandbox

JavaScript
1
star
23

Dragon-RPG

C#
1
star
24

book

Training Book Store project
Python
1
star
25

expense-tracker

Dart
1
star
26

couch-app

Vue
1
star
27

collab

Python
1
star
28

full-stack-with-angular-and-spring-boot

TypeScript
1
star
29

Laser-Defense

Unity Game for the Complete C# Unity Developer 2D Course
ShaderLab
1
star
30

AIME-Vacuum

Simple 2d vacuum agent simulator
Java
1
star
31

Glitch_Garden

C#
1
star
32

newspaper

Python
1
star
33

pyimagesearch

Python
1
star
34

Algorithms

Implementing CLRS Algorithms with TDD
Java
1
star
35

show-renamer

Python
1
star
36

pong

Simple Pong Game With Java
Java
1
star
37

blah

Blah is a server/client chat system built with java sockets, threads and javaFX
CSS
1
star
38

cryptography

My Solutions for Tishreen University Cryptography Course
Java
1
star
39

educational-portal

A small JavaFX project for System Engineering Course
Java
1
star
40

shopme

HTML
1
star
41

approximation-algorithms

Implementing Some Approximation Algorithms for Tishreen University MS Assignment
Java
1
star
42

approx-max-singly-conn-graph

A simple approximation algorithm to compute a max singly connected graph from an input DAG
Java
1
star
43

learning-resources

From Vue.js Course
Vue
1
star