Backend Development
Server-side development with Node.js, NestJS, Spring Boot, Python backends, sockets, Nginx and payment integration.
Exercise 3: File Transfer Application
Build a file transfer server and client that can reliably transfer files over TCP, handling large files and showing progress.
Read article →Exercise 4: Simple HTTP Server
Build a minimal HTTP/1.0 server that can serve static files and handle basic HTTP requests.
Read article →Nonblocking I/O
Nonblocking I/O allows sockets to perform operations without waiting. This is essential for handling multiple connections efficiently in a single thread.
Read article →Socket Security Fundamentals
Security is critical in network programming. This module covers fundamental security concepts and practices for socket applications.
Read article →How HTTPS Talks: Client and Server Communication
HTTPS is HTTP over TLS Transport Layer Security. The application data HTTP is unchanged; the difference is that it is sent over an encrypted, authenticated channel. This module explains how that channel is set up and how
Read article →Socket Programming Quick Reference
A quick reference guide for common socket programming tasks and patterns.
Read article →Socket Programming Comprehensive Teaching Materials
A complete educational resource for learning socket programming from fundamentals to advanced topics.
Read article →C Socket Examples
Minimal TCP, UDP, and HTTPS client examples matching the Python versions in ../python/.
Read article →Spring Boot Teaching Materials — Beginner to Expert
Comprehensive, classroomready materials for teaching Spring Boothttps://spring.io/projects/springboot from absolute beginners to advanced practitioners. Includes written modules and runnable code.
Read article →Spring Boot Code Examples
Working code for the Spring Boot Teaching Materials../materials/README.md.
Read article →Spring Boot Advanced Code
Corresponds to Modules 9–12 Testing, Actuator, Production Deployment, Microservices patterns.
Read article →Spring Boot Beginner Code
Corresponds to Modules 1–4 What is Spring Boot, Setup, First Application, Core Concepts.
Read article →Spring Boot Intermediate Code
Corresponds to Modules 5–8 REST APIs, Spring Data JPA, Spring Security, Configuration.
Read article →Module 1: What is Spring Boot?
Explain what Spring Boot is and why it exists Distinguish Spring Framework from Spring Boot List key features and benefits Understand “convention over configuration”
Read article →Module 2: Environment Setup
Install JDK 17+ and verify the installation Choose and set up a build tool Maven or Gradle Use Spring Initializr to generate a project Run the generated app from IDE and command line
Read article →Module 3: Your First Application
Understand the default project structure Know the role of the main class and @SpringBootApplication Create a simple REST controller and return JSON Use application.properties for basic configuration
Read article →Module 4: Core Concepts — IoC, DI, and AutoConfiguration
Explain Inversion of Control IoC and the Spring container Use Dependency Injection DI via constructor injection Understand stereotypes: @Component, @Service, @Controller, @Repository Describe how autoconfiguration works
Read article →Module 5: Building REST APIs
Map HTTP methods GET, POST, PUT, PATCH, DELETE to controller methods Use path variables, request parameters, and request bodies Handle validation and error responses Apply REST conventions status codes, resource naming
Read article →Module 6: Spring Data JPA
Define JPA entities and map them to tables Create Spring Data JPA repositories interfaces Use derived query methods and @Query Understand transactions and basic best practices
Read article →Module 7: Spring Security
Add Spring Security and understand default behavior all endpoints protected Configure permitAll / authenticated / hasRole Implement inmemory and userdetails–based authentication Protect REST APIs with stateless JWT conce
Read article →Module 8: Configuration & Profiles
Use application.properties and application.yml Activate profiles dev, test, prod and profilespecific files Inject configuration with @Value and @ConfigurationProperties Understand externalized configuration and precedenc
Read article →Module 9: Testing
Write unit tests with JUnit 5 and Mockito Test REST controllers with MockMvc Run integration tests with @SpringBootTest and Testcontainers conceptual Use test slices @WebMvcTest, @DataJpaTest for focused tests
Read article →Module 10: Actuator & Monitoring
Add Spring Boot Actuator and expose endpoints Use health, info, metrics, and env endpoints Secure actuator endpoints and customize health Understand production monitoring practices
Read article →Module 11: Production Deployment
Build a productionready executable JAR Configure for production profiles, external config, logging Understand containerization with Docker Apply basic production best practices health, security, no default passwords
Read article →