commit a41124bc7923066db7a866f0d5276fce21bfb4ae Author: Patrick Date: Sun Oct 29 22:36:04 2023 +0100 Initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..91c964b --- /dev/null +++ b/README.md @@ -0,0 +1,99 @@ +### Python (Focus on basics and essentials) + +- [ ] **Python Basics**: + - [ ] Syntax and Semantics + - [ ] Data Types (Strings, Numbers, Lists, Dictionaries, Tuples, Sets) + - [ ] Control Flows (if, for, while) + - [ ] Functions and Scope + - [ ] Basic File I/O + +- [ ] **Intermediate Python**: + - [ ] Object-Oriented Programming (Classes, Objects, Inheritance) + - [ ] Error and Exception Handling + - [ ] Modules and Packages + - [ ] Virtual Environments (venv) + +- [ ] **Essential Python Libraries**: + - [ ] `pip` for package installation + - [ ] `requests` for HTTP requests + - [ ] `Pandas` for data manipulation (useful in many Django backend scenarios) + +- [ ] **Best Practices**: + - [ ] Code Style (PEP 8) + - [ ] Writing Reusable Code + - [ ] Introduction to Testing (unittest) + +### Django (Understand the core framework) + +- [ ] **Django Basics**: + - [ ] Setting up Django + - [ ] Django Project vs. Django App + - [ ] Models and Databases (ORM) + - [ ] Views and URL Dispatchers + - [ ] Templates and Static Files + - [ ] Django Admin Interface + - [ ] Forms and Form Processing + +- [ ] **Intermediate Django**: + - [ ] Class-Based Views + - [ ] User Authentication + - [ ] Middleware + - [ ] Signals + - [ ] Advanced QuerySet Usage + +- [ ] **Django Best Practices**: + - [ ] Project Structure + - [ ] Security Practices (CSRF, XSS, Clickjacking) + - [ ] Performance Optimizations (Database Indexing, Query Optimization) + - [ ] Logging + +- [ ] **Testing Django**: + - [ ] Unit Tests and Test Cases + - [ ] Test Client + +### Django REST Framework (DRF) (Learn to build APIs) + +- [ ] **DRF Basics**: + - [ ] Serialization + - [ ] ViewSets and Routers + - [ ] Authentication and Permissions + - [ ] Browsable API + +- [ ] **Intermediate DRF**: + - [ ] Custom Validators + - [ ] Pagination + - [ ] Filtering, Searching, and Ordering + +- [ ] **Advanced DRF Topics (20% that might be less common but important)**: + - [ ] Throttling + - [ ] Versioning + - [ ] Caching + +- [ ] **Integrations**: + - [ ] Integrating Django with Front-End Frameworks (e.g., React, Vue.js) + +### Real-World Application & Practice + +- [ ] **Version Control**: + - [ ] Git Basics (commits, branches, merges, pull requests) + +- [ ] **Project**: + - [ ] Build a simple CRUD application with Django + - [ ] Extend it by adding a REST API with DRF + - [ ] Implement User Authentication + +- [ ] **Deployment**: + - [ ] Basic understanding of servers and hosting (e.g., Heroku, AWS) + - [ ] Static and Media File Management + - [ ] Deployment of Django projects + +### Continuous Learning + +- [ ] **Stay Updated**: + - [ ] Follow Django and DRF releases + - [ ] Participate in communities (Reddit, Stack Overflow, Django Users mailing list) + +- [ ] **Expand Knowledge**: + - [ ] Asynchronous Django (Django Channels) + - [ ] Django REST Framework 3rd party packages (for things like OAuth, JWT, etc.) +