├── LICENSE
├── README.md
└── images
├── architecture.jpg
├── database.png
├── design_patterns.jpg
├── docker.png
├── frameworks.jpg
├── kiss.jpg
├── language.png
├── oop.jpg
├── path.jpg
├── solid.jpg
└── webserver.jpg
/LICENSE:
--------------------------------------------------------------------------------
1 | BSD 2-Clause License
2 |
3 | Copyright (c) 2020, Mohammad Rabetian
4 | All rights reserved.
5 |
6 | Redistribution and use in source and binary forms, with or without
7 | modification, are permitted provided that the following conditions are met:
8 |
9 | 1. Redistributions of source code must retain the above copyright notice, this
10 | list of conditions and the following disclaimer.
11 |
12 | 2. Redistributions in binary form must reproduce the above copyright notice,
13 | this list of conditions and the following disclaimer in the documentation
14 | and/or other materials provided with the distribution.
15 |
16 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
17 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
18 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
19 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
20 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
21 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
22 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
23 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
24 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
25 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 |
--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------
1 |
2 | # Backend Deveoper Learning Path
3 | 
4 | >image src: https://codeburst.io/the-2018-web-developer-roadmap-826b1b806e8d
5 |
6 | ## Languages
7 |
8 |
9 |
10 | - [ ] Python:
11 | - [ ] [Python official website](https://python.org/)
12 | - [ ] [Python official Tutorial](https://docs.python.org/3/tutorial/index.html)
13 | - [ ] [Real Python Tutorials](https://realpython.com/)
14 |
15 | - [ ] Golang:
16 | - [ ] [Golang offical website](https://golang.org/)
17 | - [ ] [Golang official Docs](https://golang.org/doc/)
18 | - [ ] [A Tour of Go](https://tour.golang.org/list)
19 | - [ ] [Building Web Apps With Go](https://codegangsta.gitbooks.io/building-web-apps-with-go/content/)
20 | - [ ] [Build Web Application With Golang](https://astaxie.gitbooks.io/build-web-application-with-golang/content/en/index.html)
21 |
22 | ## Frameworks
23 |
24 |
25 | ### Sync
26 | - [ ] Django:
27 | - [ ] [Django project documentation](https://docs.djangoproject.com/en/3.0/)
28 | - [ ] [Two Scoops Of Django](https://www.amazon.com/Two-Scoops-Django-1-11-Practices/dp/0692915729)
29 | - [ ] [Django Rest Framework](https://www.django-rest-framework.org/)
30 | - [ ] Flask:
31 | - [ ] [Flask Api Zero To Yoda](https://dev.to/paurakhsharma/flask-rest-api-part-0-setup-basic-crud-api-4650)
32 | - [ ] [Flask Web Development Book](https://www.amazon.co.uk/dp/1491991739?psc=1&slotNum=0&th=1&linkCode=g12&imprToken=n2-thRHooSww6A-cepTIAQ&creativeASIN=1491991739&tag=reactdomuk-21)
33 | - [ ] [Top Online Tutorials to Learn Flask Python](https://medium.com/quick-code/top-online-tutorials-to-learn-flask-python-c2723df5326c)
34 |
35 | #### additional django stuff:
36 | - [ ] [Classy Class-Based Views](http://ccbv.co.uk/)
37 | - [ ] [Classy Django REST Framework](http://www.cdrf.co/)
38 |
39 | ## Storage
40 |
41 |
42 | ### relational databases
43 | - [ ] Postgres:
44 | - [ ] [Installing pgadmin on ubuntu](https://computingforgeeks.com/how-to-install-pgadmin-4-on-ubuntu/)
45 |
46 | - [ ] Additional Reading:
47 | - [ ] [Database Design Fundamentals](https://www.vertabelo.com/blog/design_fundamentals/)
48 | - [ ] [Design Patterns](https://www.vertabelo.com/blog/design_patterns/)
49 | - [ ] [Database Design In Practical Examples](https://www.vertabelo.com/blog/example_models/)
50 | - [ ] [SQL](https://www.vertabelo.com/blog/sql/)
51 | - [ ] [Database Internals](https://www.vertabelo.com/blog/database_internals/)
52 | - [ ] [Random Stuff](https://www.vertabelo.com/blog/others/)
53 |
54 | ## Web Server
55 |
56 |
57 | - [ ] Nginx:
58 | - [ ] [Nginx official website](https://www.nginx.com/)
59 | - [ ] Additional Resources:
60 | - [ ] [Gunicorn](https://gunicorn.org/)
61 |
62 | ## Authentication
63 | - [ ] [Understanding Authentication, Authorization, and Encryption](https://www.bu.edu/tech/about/security-resources/bestpractice/auth/)
64 | - [ ] OAuth:
65 | - [ ] [OAuth 2.0 and OpenID Connect (in plain English)](https://www.youtube.com/watch?v=996OiexHze0)
66 | - [ ] [An Illustrated Guide to OAuth and OpenID Connect](https://www.youtube.com/watch?v=t18YB3xDfXI) -> To Recap
67 | - [ ] [Django social authentication](https://www.digitalocean.com/community/tutorials/django-authentication-with-facebook-instagram-and-linkedin)
68 | - [ ] OAuth Tools:
69 | - [OAuth 2.0 Debugger](https://oauthdebugger.com/)
70 | - [OpenID Connect Debugger](https://oidcdebugger.com/)
71 |
72 | ## Docker
73 |
74 |
75 | - [ ] [Install Docker Engine - official website](https://docs.docker.com/install/)
76 | - [ ] [Install Docker-Compose - official website](https://docs.docker.com/compose/)
77 | - [ ] [A beginner's guide to Docker](https://www.freecodecamp.org/news/a-beginners-guide-to-docker-how-to-create-your-first-docker-application-cc03de9b639f/)
78 | - [ ] [A beginner's guide to Docker-part 2](https://herewecode.io/blog/a-beginners-guide-to-docker-how-to-create-a-client-server-side-with-docker-compose/)
79 | - [ ] [How to start a Django Project with Docker](https://coderbook.com/@marcus/how-to-start-a-django-project-with-docker/)
80 | - [ ] [Dockerizing Django with Postgres, Gunicorn, and Nginx](https://testdriven.io/blog/dockerizing-django-with-postgres-gunicorn-and-nginx/)
81 | - [ ] Additional Reading:
82 | - [ ] [Docker for Python Developers](https://mherman.org/presentations/dockercon-2018/#1)
83 | - [ ] [Using Alpine can make Python Docker builds 50× slower](https://pythonspeed.com/articles/alpine-docker-python/)
84 | - [ ] [9 Common Dockerfile Mistakes](https://runnable.com/blog/9-common-dockerfile-mistakes)
85 |
86 | ## Search Engines
87 | - [ ] Elastic Search:
88 | - [ ] [Get to know elasticsearch](https://www.botreetechnologies.com/blog/elasticsearch-with-django-part-4) 4 parts
89 | - [ ] [Elasticsearch and Django!](https://sunscrapers.com/blog/how-to-use-elasticsearch-with-django/)
90 | ## OOP
91 |
92 |
93 | - [ ] [How to explain object-oriented programming concepts to a 6-year-old](https://www.freecodecamp.org/news/object-oriented-programming-concepts-21bb035f7260/)
94 |
95 | ### SOLID
96 |
97 |
98 | - [ ] [SOLID OOP Principles](https://www.youtube.com/playlist?list=PL4CE9F710017EA77A)
99 |
100 | ### KISS, DRY, YAGNI
101 |
102 |
103 | These are software design principles, you'll get the meaning just by knowing the name meanings!
104 |
105 | - KISS : Keep it stupid, simple
106 | - DRY : Don't repeat yourself
107 | - YAGNI: You ain't gonna need it!
108 | - TDA : Tell don’t ask
109 | - SoC : Separation of Concerns
110 |
111 | if you have time you can read a full article on this
112 | - [ ] [How to become a better programmer ?](https://medium.com/@derodu/design-patterns-kiss-dry-tda-yagni-soc-828c112b89ee)
113 |
114 | ### Design Patterns
115 | 
116 |
117 | A good resource for learning design patterns and refactoring:
118 | - [ ] [Refactoring Guru](https://refactoring.guru/)
119 | - [ ] [DESIGN PATTERNS in different programming languages](https://refactoring.guru/design-patterns/examples)
120 |
121 | and while you're here, check out these [AntiPatterns!](https://sourcemaking.com/antipatterns)
122 |
123 | ### Architectural Styles & Patterns
124 |
125 |
126 | - [ ] [Types of Architectural Styles](https://www.youtube.com/watch?v=JLbo9Lvvy5M&list=PLmTD7qP4f9suAxW6qTAAILI4JjoY5V6ZN&index=1)
127 | - [ ] [Architectural styles and patterns](https://en.wikipedia.org/wiki/Software_architecture#Architectural_styles_and_patterns)
128 | - [ ] [What is SOA? - IBM explains](https://www.ibm.com/cloud/learn/soa)
129 | - [ ] [What is Event-Driven Architecture? - RedHat explains](https://www.redhat.com/en/topics/integration/what-is-event-driven-architecture)
130 | - [ ] [What are MicroServices? - Martin Fowler explains!](https://www.youtube.com/watch?v=wgdBVIX9ifA&list=LLW5HZo3PqiNz5m7z_WxJADA&index=8&t=0s)
131 | - [ ] [API Styles: SOAP, REST, RPC, GraphQL and more](https://api-university.com/blog/styles-for-apis-soap-rest-and-rpc/)
132 |
133 | ## Additional
134 | - [ ] WebSocket:
135 | - [ ] [Everything you ever wanted to know about WebSockets, literally!](https://hackernoon.com/everything-you-ever-wanted-to-know-about-websockets-literally-a05f36432999)
136 | - [ ] Debugging:
137 | - [ ] [Check out sentry](https://sentry.io)
138 |
--------------------------------------------------------------------------------
/images/architecture.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liamrabetian/backend-developer-university/a0173f65e56c5e2b1f09024e16581b027b944db0/images/architecture.jpg
--------------------------------------------------------------------------------
/images/database.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liamrabetian/backend-developer-university/a0173f65e56c5e2b1f09024e16581b027b944db0/images/database.png
--------------------------------------------------------------------------------
/images/design_patterns.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liamrabetian/backend-developer-university/a0173f65e56c5e2b1f09024e16581b027b944db0/images/design_patterns.jpg
--------------------------------------------------------------------------------
/images/docker.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liamrabetian/backend-developer-university/a0173f65e56c5e2b1f09024e16581b027b944db0/images/docker.png
--------------------------------------------------------------------------------
/images/frameworks.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liamrabetian/backend-developer-university/a0173f65e56c5e2b1f09024e16581b027b944db0/images/frameworks.jpg
--------------------------------------------------------------------------------
/images/kiss.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liamrabetian/backend-developer-university/a0173f65e56c5e2b1f09024e16581b027b944db0/images/kiss.jpg
--------------------------------------------------------------------------------
/images/language.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liamrabetian/backend-developer-university/a0173f65e56c5e2b1f09024e16581b027b944db0/images/language.png
--------------------------------------------------------------------------------
/images/oop.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liamrabetian/backend-developer-university/a0173f65e56c5e2b1f09024e16581b027b944db0/images/oop.jpg
--------------------------------------------------------------------------------
/images/path.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liamrabetian/backend-developer-university/a0173f65e56c5e2b1f09024e16581b027b944db0/images/path.jpg
--------------------------------------------------------------------------------
/images/solid.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liamrabetian/backend-developer-university/a0173f65e56c5e2b1f09024e16581b027b944db0/images/solid.jpg
--------------------------------------------------------------------------------
/images/webserver.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/liamrabetian/backend-developer-university/a0173f65e56c5e2b1f09024e16581b027b944db0/images/webserver.jpg
--------------------------------------------------------------------------------