- Introduction to Backend Development ›
- How the Web Works ›
- Development Environment ›
- Programming Fundamentals ›
- Python for Backend Development ›
- Introduction to Web Backends ›
- REST APIs ›
- FastAPI ›
- Databases ›
- SQL ›
- PostgreSQL ›
- ORM and Database Integration ›
- Authentication ›
- Authorization ›
- Backend Security ›
- Caching ›
- Background Processing ›
- Email ›
- Testing ›
- Logging and Monitoring ›
- Docker ›
- Web Servers and Reverse Proxies ›
- Deployment ›
- CI/CD ›
- Backend Architecture ›
- Performance and Scalability ›
- Advanced API Development ›
- Production Backend Engineering ›
- Project 1: Task Management API ›
- Project 2: Authentication System ›
- Project 3: E-Commerce Backend ›
- Final Project: Production Backend ›
- Backend Developer Roadmap ›
Production Backend Engineering
Views: 11
Where to Move
Move chapter:
- β° Introduction to Backend Development
- β° What Is Backend Development?
- β° Frontend vs Backend
- β° How Web Applications Work
- β° Client-Server Architecture
- β° Request-Response Cycle
- β° Static vs Dynamic Websites
- β° Backend Developer Responsibilities
- β° Backend Development Roadmap
-
- β° How the Web Works
- β° The Internet and the Web
- β° IP Addresses
- β° Domain Names
- β° DNS
- β° Ports
- β° TCP/IP Basics
- β° HTTP and HTTPS
- β° HTTP Requests
- β° HTTP Responses
- β° HTTP Methods
- β° HTTP Status Codes
- β° HTTP Headers
- β° Cookies
- β° Sessions
- β° What Happens When You Enter a URL?
-
- β° Development Environment
- β° Choosing an Operating System
- β° Linux Basics for Backend Developers
- β° Command Line Basics
- β° Environment Variables
- β° Installing Development Tools
- β° Code Editors and IDEs
- β° Git
- β° GitHub and GitLab
- β° Creating Your First Repository
- β° Branches and Commits
- β° Basic Git Workflow
-
- β° Programming Fundamentals
- β° Variables and Data Types
- β° Operators
- β° Conditions
- β° Loops
- β° Functions
- β° Data Structures
- β° Error Handling
- β° Modules and Packages
- β° File Handling
- β° Object-Oriented Programming
- β° Classes and Objects
- β° Inheritance and Composition
- β° Clean Code Principles
-
- β° Python for Backend Development
- β° Introduction to Python
- β° Installing Python
- β° Virtual Environments
- β° pip and Package Management
- β° Python Project Structure
- β° Functions and Type Hints
- β° Classes and Dataclasses
- β° Exceptions
- β° Working with Files
- β° File Downloads
- β° File Validation
- β° Image Uploads
- β° Local File Storage
- β° Object Storage
- β° S3-Compatible Storage
- β° Presigned URLs
- β° Secure File Handling
-
- β° JSON
- β° Date and Time
- β° Logging
- β° Configuration
- β° Environment Variables
- β° Async Programming
- β° Python Backend Best Practices
-
- β° Introduction to Web Backends
- β° Building a Simple Web Server
- β° Routing
- β° URL Parameters
- β° Query Parameters
- β° Request Bodies
- β° Form Data
- β° JSON Requests
- β° Returning Responses
- β° Templates
- β° Static Files
- β° Middleware
- β° Application Configuration
-
- β° REST APIs
- β° What Is an API?
- β° What Is REST?
- β° Resources and Endpoints
- β° RESTful URL Design
- β° HTTP Methods in REST
- β° GET Requests
- β° POST Requests
- β° PUT Requests
- β° PATCH Requests
- β° DELETE Requests
- β° Request Validation
- β° Response Models
- β° HTTP Status Codes
- β° Error Responses
- β° Pagination
- β° Filtering
- β° Sorting
- β° Searching
- β° API Versioning
- β° API Documentation
- β° OpenAPI and Swagger
-
- β° FastAPI
- β° Introduction to FastAPI
- β° Routes and Path Operations
- β° Path Parameters
- β° Pydantic Models
- β° Data Validation
- β° Dependency Injection
- β° Exception Handling
- β° Background Tasks
- β° File Uploads
- β° Async Endpoints
- β° FastAPI Project Structure
- β° Building a Complete REST API
-
- β° Databases
- β° Introduction to Databases
- β° Relational vs NoSQL Databases
- β° Tables, Rows, and Columns
- β° Primary Keys
- β° Foreign Keys
- β° Relationships
- β° One-to-One Relationships
- β° One-to-Many Relationships
- β° Many-to-Many Relationships
- β° Database Schema Design
- β° Normalization
- β° Indexes
- β° Transactions
- β° ACID Properties
-
- β° SQL
- β° Introduction to SQL
- β° CREATE
- β° INSERT
- β° SELECT
- β° UPDATE
- β° DELETE
- β° WHERE
- β° ORDER BY
- β° GROUP BY
- β° Aggregate Functions
- β° JOINs
- β° Subqueries
- β° Constraints
- β° Indexes
- β° Transactions
- β° Common Table Expressions
- β° SQL Performance Basics
-
- β° PostgreSQL
- β° Introduction to PostgreSQL
- β° Installing PostgreSQL
- β° Creating Databases
- β° Users and Roles
- β° Permissions
- β° PostgreSQL Data Types
- β° Constraints
- β° Indexes
- β° Transactions
- β° JSON Data
- β° Backup and Restore
- β° PostgreSQL Performance Basics
-
- β° ORM and Database Integration
- β° What Is an ORM?
- β° SQLAlchemy
- β° Models
- β° Database Sessions
- β° Creating Records
- β° Reading Records
- β° Updating Records
- β° Deleting Records
- β° Relationships
- β° Queries
- β° Transactions
- β° Connection Pooling
- β° Database Migrations
- β° Alembic
- β° Repository Pattern
-
- β° Authentication
- β° Authentication vs Authorization
- β° Password Storage
- β° Password Hashing
- β° Registration
- β° Login
- β° Tokens
- β° JSON Web Tokens
- β° Access Tokens
- β° Refresh Tokens
- β° OAuth 2.0
- β° OpenID Connect
- β° Social Login
- β° Logout
- β° Password Reset
- β° Email Verification
- β° Multi-Factor Authentication
-
- β° Authorization
- β° Users and Permissions
- β° Role-Based Access Control
- β° Permission-Based Access Control
- β° Protecting API Endpoints
- β° Admin Permissions
- β° Resource Ownership
- β° Authorization Best Practices
-
- β° Backend Security
- β° Introduction to Web Security
- β° HTTPS and TLS
- β° SQL Injection
- β° Cross-Site Scripting
- β° Cross-Site Request Forgery
- β° CORS
- β° Authentication Attacks
- β° Brute-Force Protection
- β° Rate Limiting
- β° Input Validation
- β° Secure Password Storage
- β° Secrets Management
- β° Secure Cookies
- β° Security Headers
- β° File Upload Security
- β° Dependency Vulnerabilities
- β° OWASP Top 10
-
- β° Caching
- β° Why Caching Matters
- β° Application Caching
- β° Redis
- β° Introduction to Redis
- β° Installing Redis
- β° Keys and Values
- β° Expiration
- β° Distributed Locks
-
- β° Cache Keys
- β° Cache Invalidation
- β° Caching Database Queries
- β° Distributed Caching
-
- β° Background Processing
- β° Synchronous vs Asynchronous Tasks
- β° Background Jobs
- β° Message Queues
- β° Celery
- β° Redis as a Message Broker
- β° Scheduled Tasks
- β° Retry Strategies
- β° Handling Failed Jobs
- β° Email Jobs
- β° Long-Running Tasks
-
- β° Email
- β° How Email Works
- β° SMTP
- β° Sending Emails
- β° HTML Emails
- β° Transactional Emails
- β° Password Reset Emails
- β° Background Email Delivery
- β° Email Delivery Best Practices
-
- β° Testing
- β° Why Backend Testing Matters
- β° Unit Testing
- β° Integration Testing
- β° API Testing
- β° pytest
- β° Fixtures
- β° Mocking
- β° Testing Databases
- β° Testing Authentication
- β° Testing FastAPI
- β° Test Coverage
- β° Automated Testing
-
- β° Logging and Monitoring
- β° Application Logging
- β° Log Levels
- β° Structured Logging
- β° Request Logging
- β° Error Logging
- β° Metrics
- β° Health Checks
- β° Monitoring
- β° Prometheus
- β° Grafana
- β° Alerting
- β° Error Tracking
- β° Observability Basics
-
- β° Docker
- β° Introduction to Containers
- β° Docker Architecture
- β° Images
- β° Containers
- β° Dockerfiles
- β° Building Images
- β° Running Containers
- β° Volumes
- β° Networks
- β° Docker Compose
- β° FastAPI with Docker
- β° PostgreSQL with Docker
- β° Redis with Docker
- β° Multi-Container Applications
- β° Production Docker Best Practices
-
- β° Web Servers and Reverse Proxies
- β° Application Servers
- β° Uvicorn
- β° Gunicorn
- β° Reverse Proxies
- β° Nginx
- β° Traefik
- β° HTTPS
- β° TLS Certificates
- β° Let's Encrypt
- β° Load Balancing
-
- β° Deployment
- β° Development vs Production
- β° Preparing an Application for Production
- β° Linux Server Setup
- β° Deploying with Docker
- β° Environment Configuration
- β° Managing Secrets
- β° HTTPS Configuration
- β° Production Logging
- β° Backups
- β° Zero-Downtime Deployment
- β° Rollbacks
-
- β° CI/CD
- β° Introduction to CI/CD
- β° Continuous Integration
- β° Continuous Delivery
- β° Continuous Deployment
- β° CI/CD Pipelines
- β° GitHub Actions
- β° GitLab CI/CD
- β° Building Docker Images
- β° Container Registries
- β° Deployment Pipelines
- β° Staging Environments
- β° Production Environments
- β° Rollback Strategies
-
- β° Backend Architecture
- β° Monolithic Architecture
- β° Modular Monoliths
- β° Microservices
- β° Layered Architecture
- β° Service Layer
- β° Separation of Concerns
- β° Domain-Driven Design Basics
- β° Event-Driven Architecture
- β° Choosing an Architecture
-
- β° Performance and Scalability
- β° Understanding Backend Performance
- β° CPU-Bound vs I/O-Bound Work
- β° Asynchronous Programming
- β° Database Optimization
- β° Query Optimization
- β° Indexing
- β° Load Balancing
- β° Horizontal Scaling
- β° Vertical Scaling
- β° Stateless Applications
- β° Performance Testing
- β° Load Testing
-
- β° Advanced API Development
- β° WebSockets
- β° Server-Sent Events
- β° GraphQL
- β° Webhooks
- β° Idempotency
- β° API Rate Limiting
- β° API Keys
- β° API Gateways
- β° Distributed APIs
- β° Real-Time Applications
-
- β° Production Backend Engineering
- β° Configuration Management
- β° Database Backups
- β° Disaster Recovery
- β° Graceful Shutdown
- β° Fault Tolerance
- β° Circuit Breakers
- β° High Availability
- β° Monitoring Production Systems
- β° Incident Response
-
- β° Project 1: Task Management API
- β° Project Requirements
- β° Project Structure
- β° Database Design
- β° CRUD Operations
- β° Validation
-
- β° Project 2: Authentication System
- β° User Registration
- β° JWT Authentication
- β° Role-Based Authorization
- β° Security Testing
-
- β° Project 3: E-Commerce Backend
- β° Architecture
- β° User Management
- β° Product Management
- β° Categories
- β° Shopping Cart
- β° Orders
- β° Inventory
- β° Payments
- β° Admin API
-
- β° Final Project: Production Backend
- β° Planning the Application
- β° Designing the Architecture
- β° Designing the Database
- β° Building the REST API
- β° Authentication and Authorization
- β° PostgreSQL Integration
- β° Redis Integration
- β° Background Workers
- β° File Storage
- β° Dockerizing the Application
- β° CI/CD Pipeline
- β° Production Deployment
- β° HTTPS and Domain Setup
- β° Performance Optimization
- β° Security Review
- β° Documentation
-
- β° Backend Developer Roadmap
- β° What You Should Know Now
- β° Building a Portfolio
- β° Creating Backend Projects
- β° Contributing to Open Source
- β° Preparing for Backend Interviews
- β° Backend Interview Questions
- β° Database Interview Questions
- β° API Interview Questions
- β° Linux and Docker Interview Questions
- β° Where to Go Next
-
KAHIBARO