Skip to content

About

This repository is a living space dedicated to collecting, organizing, and sharing my learning journey across technologies.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

📚 Software Engineering Playbook

Welcome to my living software engineering playbook: a practical, human-friendly map for learning the foundations that turn scattered tutorials into real engineering judgment.

This repository is not a dump of notes. It is a guided path through architecture, programming languages, frontend fundamentals, backend integration, infrastructure, data, networking, Git workflows, and user-centered design. Each topic is organized so you can start with the basics, build context step by step, and understand how the pieces connect in real projects.


🚀 Start Here

If you are new to the repo, take this route:

  1. Begin with architecture to understand how good systems are shaped.
  2. Move into a language or platform such as Java, JavaScript, React + Spring Boot, or Ionic + Angular.
  3. Strengthen the edges with Git, Docker, Networking, SQL, and UX/UI Accessibility.
  4. Come back often. This playbook is meant to evolve with practice, mistakes, refactors, and better explanations.

The goal is simple: learn concepts deeply enough that tools stop feeling magical and start becoming choices you control.


🧭 How This Repository Is Organized

Every main topic contains three progressive learning levels. The structure is intentionally repetitive: once you learn how to move through one topic, you know how to move through all of them.

ROOT (Master Index)
│
├── 🏛️ ARCHITECTURE_AND_BEST_PRACTICES
│   ├── 01-SOLID-Principles
│   ├── 02-Clean-Hexagonal
│   └── 03-System-Design
│
├── ☕ JAVA
│   ├── 01-OOP-Pillars
│   ├── 02-Interfaces-and-Polymorphism
│   └── 03-Project-Structure
│
├── 💛 JS
│   ├── 01-Core-Syntax-and-Types
│   ├── 02-DOM-and-Events
│   └── 03-Async-and-APIs
│
├── 🎨 CSS
│   ├── 01-Box-Model-and-Flow
│   ├── 02-Flexbox-and-Grid
│   └── 03-Responsive-Architecture
│
├── 🌐 HTML
│   ├── 01-Semantic-Web
│   ├── 02-Forms-and-Inputs
│   └── 03-SEO-and-Metadata
│
├── ⚛️ REACT+SPRINGBOOT
│   ├── 01-React-Core
│   ├── 02-Spring-Boot-API
│   └── 03-FullStack-Integration
│
├── 📱 IONIC+ANGULAR+FIREBASE+CAPACITOR
│   ├── 01-Angular-Architecture
│   ├── 02-Ionic-UI
│   └── 03-Firebase-Capacitor
│
├── 🐙 GIT
│   ├── 01-Git-Fundamentals
│   ├── 02-GitHub-Collaboration
│   └── 03-CI-CD-Workflows
│
├── 🐳 DOCKER
│   ├── 01-Images-and-Containers
│   ├── 02-Volumes-and-Storage
│   └── 03-Docker-Compose
│
├── 🌎 NETWORKING
│   ├── 01-Web-Protocols
│   ├── 02-Dev-Ports-and-Envs
│   └── 03-Security-and-JWT
│
├── 🔌 API_AND_INTERFACE_DESIGN
│   ├── 01-API-Contracts-and-REST
│   ├── 02-Query-RPC-and-Realtime-APIs
│   └── 03-Integration-Governance-and-Legacy
│
├── 🐘 SQL
│   ├── 01-Relational-Design
│   ├── 02-Queries-and-Joins
│   └── 03-Indexes-and-Performance
│
└── 🎨 UX_UI_ACCESSIBILITY
    ├── 01-Visual-Design-Rules
    ├── 02-Accessibility-WCAG
    └── 03-Cognitive-Doc-Design

🗂️ Topic Map

# Topic What You Will Learn First Step
01 🏛️ Architecture and Best Practices SOLID, Clean Architecture, Hexagonal Architecture, and System Design foundations. Dive in
02 ☕ Java Object-oriented thinking, polymorphism, interfaces, and professional project structure. Dive in
03 💛 JavaScript Core syntax, types, the DOM, events, async flows, and API communication. Dive in
04 🎨 CSS Layout fundamentals, Flexbox, Grid, responsive architecture, and visual structure. Dive in
05 🌐 HTML Semantic markup, accessible forms, SEO metadata, and meaningful document structure. Dive in
06 ⚛️ React + Spring Boot React fundamentals, Spring Boot APIs, and full-stack integration patterns. Dive in
07 📱 Ionic + Angular + Firebase + Capacitor Angular architecture, mobile UI patterns, Firebase services, and native capabilities. Dive in
08 🐙 Git Version control fundamentals, GitHub collaboration, pull requests, and CI/CD workflows. Dive in
09 🐳 Docker Images, containers, volumes, storage, and multi-service local environments. Dive in
10 🌎 Networking Web protocols, ports, environments, authentication flows, security, and JWT. Dive in
11 🔌 API and Interface Design API contracts, style selection (REST/GraphQL/gRPC/WebSocket/Webhooks/WebRTC/SOAP), and governance guidance. Dive in
12 🐘 SQL Relational design, queries, joins, indexing, and performance fundamentals. Dive in
13 🎨 UX/UI Accessibility Visual design rules, WCAG accessibility, and documentation that reduces cognitive load. Dive in

🧠 Principles Behind the Playbook

Good engineering is not about memorizing frameworks. Frameworks change. Tools change. The fundamentals stay.

This playbook keeps coming back to five ideas:

Principle Why It Matters
KISS Simple solutions are easier to read, test, debug, and evolve.
DRY Repeated logic becomes repeated risk. Keep knowledge in one reliable place.
YAGNI Do not build complexity for a future that has not arrived yet.
Clean Code Code is read far more often than it is written. Write for humans first.
SOLID Strong boundaries make systems easier to change without breaking everything around them.

These principles are not slogans. They are decision-making tools. Use them when choosing names, splitting responsibilities, designing modules, reviewing pull requests, and deciding when not to add another abstraction.


💡 How to Use This Playbook Well

  • Read actively. Do not just scroll. Pause and explain the idea back in your own words.
  • Follow the sequence when you are learning a topic for the first time. The 01, 02, and 03 folders are ordered for a reason.
  • Jump around when you are reviewing. The topic map is designed to help you find what you need quickly.
  • Connect concepts across folders. Docker affects backend development. Networking affects authentication. UX affects documentation. Architecture affects everything.
  • Improve what you learn. If an explanation can be clearer, shorter, warmer, or more useful, it belongs here.

🤝 Contributions

This repository is maintainer-curated to preserve its teaching voice, progressive structure, and conceptual sequencing.

If you spot an error, a broken link, or have a suggestion for how to teach something better, open an issue. Do not open a content pull request directly — we ask that you let us discuss the change first so we can keep the playbook coherent for everyone.

Before contributing, read the Contribution Guidelines to understand our issue-first workflow and what types of changes are welcome without prior discussion.


🌱 Final Note

Learning software engineering is not a race to collect technologies. It is a long process of building judgment: knowing what matters, why it matters, and when a simpler choice is the stronger one.

That is what this playbook is for.

Created with care, curiosity, and a strong bias toward Clean Code by Marco Povea.

About

This repository is a living space dedicated to collecting, organizing, and sharing my learning journey across technologies.

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors